【问题标题】:Can't access MySQL server remotely无法远程访问 MySQL 服务器
【发布时间】:2013-03-17 01:47:24
【问题描述】:

我在尝试远程访问我的 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转发到服务器主机)。

【问题讨论】:

  • 检查bind-addressmy.cnf 是否设置为0.0.0.0 以接受来自远程的连接。

标签: mysql router


【解决方案1】:

很多可能的原因:

_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;

【讨论】:

  • 问题出在绑定地址变量中。非常感谢你!
  • 谢谢你! (需要授予)
猜你喜欢
  • 2015-01-08
  • 1970-01-01
  • 2017-04-21
  • 2012-12-13
  • 2022-01-12
  • 2020-03-06
  • 2022-06-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多