我刚刚将表从一台 Web 主机导出到另一台 (AWS)。
以为一切都会顺利(是的,没错),好吧,一切可能出错的事情都已经出错了。
尝试查询我的数据库时出现此错误(我之前没有得到过):
SQLSTATE[HY000] [1130] Host '<my ip address>' is not allowed to connect to this MySQL server
这与这篇文章中的错误相同:
不允许主机“xxx.xx.xxx.xxx”连接到此 MySQL 服务器 https://stackoverflow.com/questions/1559955/host-xxx-xx-xxx-xxx-is-not-allowed-to-connect-to-this-mysql-server
该帖子中的解决方案似乎围绕着拥有一个管理用户。我正在开发一个聊天应用程序,因此每个用户都需要访问服务器(所以我确信授予他们所有管理权限是一个坏主意)。
帕斯卡在该链接中的回答说,If you are using mysql for a client/server application, prefer a subnet address.
但老实说我不明白他的意思。由于解决方案数量众多,我不确定根据我的情况应该遵循哪一个。
我该如何解决这个问题?
MySQL 具有安全表,用于确定允许谁以及从哪个主机 IP 地址进行连接。
这是一篇关于如何做到这一点的好文章:
http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html
如果您有很多连接,请考虑设置一个服务器来接受连接并与 sql 服务器通信。最简单的方法是设置 REST 接口并使用 Web 服务器。 Web 服务器通常也经过高度优化并且相对没有错误。
在AWS上类似的架构中,我很乐意使用nginx。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)