与远程数据库的连接失败:Laravel应用程序

时间:2017-07-27 06:38:58

标签: php mysql laravel laravel-5.4 database-migration

当我在浏览器中浏览http://192.168.1.12/phpmyadmin时,我能够登录并查看数据库。但是当我运行php artisan migrate命令时, 我收到了这个错误:

  

[照亮\数据库\ QueryException]
  SQLSTATE [HY000] [2002]连接超时(SQL:select * from   信息_schema.tables其中table_schema = root和   table_name =迁移)

     

[PDOException] SQLSTATE [HY000] [2002]连接超时

同时迁移到本地数据库正在运行。

2 个答案:

答案 0 :(得分:0)

好的,根据您的回答,我可以看到您正在尝试连接到远程数据库,而您正在连接的计算机上安装了PHPMyAdmin,但您的Laravel应用程序却没有。

您需要编辑my.cnf(如果您在Windows上,则需要my.ini)并将MySQL绑定到IP地址(192.168.1.12)。您还需要重新启动MySQL,并确保您用于从Laravel应用程序连接的MySQL用户具有权限(见下文)。

GRANT ALL PRIVILEGES ON database.* TO user@host IDENTIFIED BY 'somepassword';

您需要按如下方式刷新权限...

FLUSH PRIVILEGES;

在使用DHCP的情况下,您可以在授权的主机部分中使用通配符。一个完整的例子如下..

GRANT ALL PRIVILEGES ON mydatabase.* TO myuser@% IDENTIFIED BY 'secretpassword';

答案 1 :(得分:0)

远程服务器上的Nginx端口冲突。也不读.env文件。