0

编辑:我终于意识到工匠正在尝试连接到我的机器而不是配置中指定的远程数据库主机。我假设它会检索主机地址以及用户名和密码。我将尝试在命令行上指定主机地址并回发。

编辑2:我发现了问题。对主持人的技术支持误导了我的第一次编辑。问题是“1”和“l”之间的密码不匹配。很抱歉浪费了您的时间。

我正在开发一个 Laravel 4 网络应用程序,我正在尝试执行从哨兵到远程 mysql 数据库的迁移。我已经能够使用存储在 laravel 中的相同凭据通过 phpmyadmin 进行连接,没有任何麻烦,但是 artisan 将无法工作。

这是工匠命令和输出:

$ php artisan migrate --package=cartalyst/sentry

[PDOException]                                                               
SQLSTATE[HY000] [1045] Access denied for user 'myuser'@'mypc' (using password: YES)                                                          

migrate [--bench[="..."]] [--database[="..."]] [--path[="..."]] [--package[="..."]] [-- pretend] [--seed]

Laravel 连接配置:

'default' => 'mysql',
[...]
'mysql' => array(
        'driver'    => 'mysql',
        'host'      => 'hostname.example.com',
        'database'  => 'mydb',
        'username'  => 'myuser',
        'password'  => 'supersecretpassword',
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
   ),

我没有在本地安装 mysql,只有 apache、php 和 phpmyadmin。我的盒子是archlinux,我无法访问远程主机。

有任何想法吗?

4

1 回答 1

0

您需要在该主机上向该用户授予权限(这是您连接的计算机):

GRANT ALL ON mydb.* TO myuser@mypc IDENTIFIED by 'supersecretpassword';
于 2013-05-31T11:35:24.373 回答