我正在尝试在我的 Laravel(版本 5.6)应用程序中连接到我的远程 mysql 数据库(infinityfree.net)。这是我在 database.php 文件中的配置:
'mysql' => [
'driver' => 'mysql',
'host' => 'sql201.epizy.com',
'database' => 'epiz_22148680_LaravelHospital',
'username' => 'epiz_22148680',
'password' => 'Vxp7****R1k6',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
],
我还更改了 .env 文件:
DB_CONNECTION=mysql
DB_HOST=sql201.epizy.com
DB_PORT=3306
DB_DATABASE=epiz_22148680_LaravelHospital
DB_USERNAME=epiz_22148680
DB_PASSWORD=Vxp7****R1k6
但是,当我尝试连接到我的数据库时,出现此错误:
PDOException::("SQLSTATE[HY000] [2002] A connection attempt failed because the connected party did not properly respond after a p period of time or established connection failed because connected host has failed to respond.
最佳答案
出于安全原因,默认情况下禁用对 MySQL 数据库服务器的远程访问。 MySQL 实例仅配置为监听本地连接。这是 MySQL 的默认设置,但它不适用于远程数据库设置,因为 MySQL 必须能够监听可以访问服务器的外部 IP 地址。
要启用它,请打开您的 mysqld.cnf 文件:
寻找以下行,
bind-address = 127.0.0.1
为了排除故障,将其更改为 0.0.0.0。
重启MySQL并再次检查连接。
如果它的工作将 0.0.0.0 更改为您的 WEBSERVERIP 地址
如果您有任何问题,这里是完整的教程。
https://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html
关于php - Laravel连接远程mysql数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50555947/