0

我在尝试远程访问我的 MySQL 数据库时遇到了一些麻烦。在本地或通过 LAN 访问它可以正常工作,但是通过 Internet 尝试时出现此错误:

不允许主机 '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 转发到服务器主机)。

4

1 回答 1

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;
于 2013-03-27T02:53:49.237 回答