Laravel & DigitalOcean - Remote Access to mysql from DigitalOcean Droplet gives this error: SQLSTATE[HY000] [2006] MySQL server has gone away;
Laravel & DigitalOcean - Remote Access to mysql from DigitalOcean Droplet gives this error: SQLSTATE[HY000] [2006] MySQL server has gone away;
我在 digitalocean droplet (Ngnix Ubuntu) 上托管了我的 laravel 应用程序。这方面的一切都运作良好。
我需要测试 远程 访问 到 mysql.
首先,从 Droplet 的角度来看,我已经授权任何人访问 mysql
此命令的 IP 地址:sudo ufw allow 3306
为了测试远程访问,我尝试将本地主机 laravel 应用连接到 Droplet 的 mysql 数据库。
DB_HOST= here I've put the Ip address of the droplet.
DB_PORT=3306
DB_DATABASE=dbname
DB_USERNAME=dbuser
DB_PASSWORD=dbpass
- 它给出了这个错误:
SQLSTATE[HY000] [2006] MySQL server has gone away (SQL: select * from 'users' where 'username' = admin limit 1)
我尝试了很多搜索..尝试了一些建议..仍然没有解决方案。
编辑:这是 /etc/mysql 中的 my.cnf 文件 ..
提前致谢!
对于Laravel,你不必放你的水滴IP,你必须放127.0.0.1
或localhost
.
并且为了测试远程访问(不是通过 Laravel),请正常尝试(使用 droplet ip 或域名),如果错误继续存在,则必须绑定(在 MySQL config) 你的 Droplet 本地 IP(肯定是被注释掉了,它应该是 bind-address
之类的东西)。
查看 this 了解更多信息。
实际上,当我创建另一个 mysql 用户并授予该用户任何 ip 访问权限时,它就起作用了。看这里:Allow all remote connections, MySQL
我在 digitalocean droplet (Ngnix Ubuntu) 上托管了我的 laravel 应用程序。这方面的一切都运作良好。
我需要测试 远程 访问 到 mysql.
首先,从 Droplet 的角度来看,我已经授权任何人访问 mysql 此命令的 IP 地址:
sudo ufw allow 3306
为了测试远程访问,我尝试将本地主机 laravel 应用连接到 Droplet 的 mysql 数据库。
DB_HOST= here I've put the Ip address of the droplet.
DB_PORT=3306
DB_DATABASE=dbname
DB_USERNAME=dbuser
DB_PASSWORD=dbpass
- 它给出了这个错误:
SQLSTATE[HY000] [2006] MySQL server has gone away (SQL: select * from 'users' where 'username' = admin limit 1)
我尝试了很多搜索..尝试了一些建议..仍然没有解决方案。
编辑:这是 /etc/mysql 中的 my.cnf 文件 ..
提前致谢!
对于Laravel,你不必放你的水滴IP,你必须放127.0.0.1
或localhost
.
并且为了测试远程访问(不是通过 Laravel),请正常尝试(使用 droplet ip 或域名),如果错误继续存在,则必须绑定(在 MySQL config) 你的 Droplet 本地 IP(肯定是被注释掉了,它应该是 bind-address
之类的东西)。
查看 this 了解更多信息。
实际上,当我创建另一个 mysql 用户并授予该用户任何 ip 访问权限时,它就起作用了。看这里:Allow all remote connections, MySQL