Laravel Homestead 5.3,虽然.env和database.php信息是正确的,但不能移植php工匠

时间:2017-05-15 22:56:00

标签: php mysql laravel

尝试使用php artisan时遇到一些问题,需要迁移一个mysql数据库才能在本地环境中工作。我一直在努力让我的数据库迁移,我可以挖掘的一切告诉我,我的凭据应该是正确的。

database.php中

'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', 'localhost'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'homestead'),
        'username' => env('DB_USERNAME', 'homestead'),
        'password' => env('DB_PASSWORD', 'secret'),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'strict' => false,
        'engine' => null,
    ]

至于我的.env

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

我已经尝试过php artisan配置:清除并阅读文档,并尝试了几乎所有其他用户在类似问题上建议的修复都无济于事。

2 个答案:

答案 0 :(得分:0)

来自您的数据,您应该

mysql -u homestead -h localhost -p secret

[在此处输入链接说明] [参见此答案]

设置密码并授予privelege

mysql>  SET PASSWORD FOR 'homestead'@'localhost' = PASSWORD('secret');

为您的数据库授予权益

GRANT SELECT ON homestead.* TO 'homestead'@'secret'; 

在上面的代码中,first homestead代表数据库名称

从mysql客户端尝试刷新权限

mysql> FLUSH PRIVILEGES;

答案 1 :(得分:0)

如果您是在宅基地之外运行php artisan migration命令,则应将端口更改为33060。然后在移植后将其重新更改为3306。

否则,您需要通过SSH连接(无用ssh)在宅基地内完成