无法远程访问MySQL服务器

时间:2013-03-27 02:42:02

标签: mysql router

我一直在尝试远程访问MySQL数据库时遇到麻烦。 它可以很好地访问本地或局域网,但在互联网上尝试时我收到此错误:

主机'192.168.1.1'不允许连接到此MySQL服务器

我做了所有这些:

  • 禁用防火墙
  • 向本地客户授予权限:GRANT ALL ON *.* TO root@'%' IDENTIFIED BY 'root';

然后当我尝试连接时:

mysql -h190.XXX.XXX.XXX -uroot -proot

请注意,我尝试通过公共IP(190.XXX.XXX.XXX)进行连接,但错误显示路由器本地IP(路由器配置为将端口3306转发到服务器主机)。

1 个答案:

答案 0 :(得分:2)

有很多可能的原因:

_首先在my.cnf:

#skip-networking # should be disabled
bind-address = 0.0.0.0  #make sure it is not bound to localhost

_然后确保没有防火墙,你不需要在/etc/hosts.allow中打开端口(或者你正在使用的任何东西,如亚马逊政策编辑器)

_你的授权也应该有授权选项(我会使用root以外的东西进行远程访问):

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'pass' WITH
GRANT OPTION;

_然后确保刷新权限(授权后):

 flush privileges;