我正在尝试连接到我的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]连接尝试失败,原因是连接方在p段时间后没有正确响应,或者建立的连接失败,原因是连接的主机没有响应。
我看过这篇文章和这篇文章,但都没有人回复。
2条答案
按热度按时间nwnhqdif1#
默认情况下,出于安全原因,对mysql数据库服务器的远程访问被禁用。mysql示例只配置为侦听本地连接。这是mysql的默认设置,但对于远程数据库设置来说,它不起作用,因为mysql必须能够侦听可以访问服务器的外部ip地址。
要启用此功能,请打开mysqld.cnf文件:
看下面这一行,
为了排除故障,将其更改为0.0.0.0。
重新启动mysql并再次检查连接。
如果它工作,请将0.0.0.0更改为WebServerIPAddress
如果你有任何问题,这里是完整的教程。
https://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html
0ejtzxu12#
看php-mysql的库都安装好了吗?
查看php-m,查看模块。
只需设置.env就足以连接db