当我使用domain作为主机(Linode问题)时,不能连接到远程mysql


Can't connect to remote mysql when I use domain as a host (Linode issue)

例如,我使用Laravel, PDO驱动程序,Nginx, Ubuntu 12.04。

数据库设置。example.com指向MySQL服务器。此代码适用于Google Cloud, AWS, DigitalOcean,但不适用于Linode。

'driver' => 'mysql',
'host' => 'example.com',
'database' => 'db',
'username' => 'user',
'password' => 'password',

在Linode上,我必须直接设置数据库服务器的IP

'driver' => 'mysql',
'host' => '1.2.3.4',
'database' => 'db',
'username' => 'user',
'password' => 'password',

否则会出现错误

*1 upstream timed out (110: Connection timed out) while reading response header from upstream,

有什么问题吗?

如果您的服务器没有防火墙,它应该是工作的:

修改mysql配置

从编辑mysql配置文件开始

vim /etc/mysql/my.cnf

注释掉后面的行。

#bind-address           = 127.0.0.1
#skip-networking

如果没有找到skip-networking行,添加它并注释掉。

重启mysql服务器

service mysql restart