首页 文章

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

提问于
浏览
0

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

[Illuminate \ Database \ QueryException] SQLSTATE [HY000] [2002]连接超时(SQL:select * from information _schema.tables where table_schema = root and table_name = migrations)[PDOException] SQLSTATE [HY000] [2002]连接超时

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

2 回答

  • 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';
    
  • 0

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

相关问题