我一直在尝试远程访问MySQL数据库时遇到麻烦 . 它可以很好地访问本地或局域网,但在互联网上尝试时我收到此错误:
Host '192.168.1.1' is not allowed to connect to this MySQL server
我做了所有这些:
-
禁用防火墙
-
使用本地客户端授予权限:
GRANT ALL ON *.* TO root@'%' IDENTIFIED BY 'root'
;
然后当我尝试连接时:
mysql -h190.XXX.XXX.XXX -uroot -proot
请注意,我尝试通过公共IP(190.XXX.XXX.XXX)进行连接,但错误显示路由器本地IP(路由器配置为将端口3306转发到服务器主机) .
1 回答
有很多可能的原因:
_首先在my.cnf中:
_然后确保没有防火墙,你不需要在/etc/hosts.allow中打开端口(或者你正在使用的任何东西,如亚马逊策略编辑器)
_你的授权也应该有授权选项(我会使用root以外的东西进行远程访问):
_然后确保刷新权限(授权后):