MySQL无法使用外网IP或内网IP访问 解决办法

ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.209.69' (111)

常见服务器环境场景:
[list]
[*]一台机器两个网卡,一个内网IP,一个外网IP
[*]一台机器只有一个内网IP(服务器集群什么)
[/list]一般我们内网通讯(例如 A机器 访问 B机器 的 Memcache、MySQL 等),都是使用内网IP,原因我就不多说了。
[code]mysql -h 192.168.209.69 -u test -p 123456 -D fuck
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.209.69' (111)[/code][b]出现上述问题,可能有以下几种可能:[/b]

1、my.cnf 配置文件中 skip-networking 被配置

skip-networking 这个参数,导致所有TCP/IP端口没有被监听,也就是说出了本机,其他客户端都无法用网络连接到本mysql服务器
所以需要把这个参数注释掉。

2、my.cnf 配置文件中 bindaddress 的参数配置

bindaddress,有的版本是bind-address ,这个参数是指定哪些ip地址被配置,使得mysql服务器只回应哪些ip地址的请求,
所以需要把这个参数注释掉。

3、防火墙的原因
通过 /etc/init.d/iptables stop 关闭防火墙

[hr]
如果是下面这种错误:

ERROR 1045 (28000): Access denied for user 'test'@'localhost' (using password: YES)

那必然是用户权限问题,请参考:[url=thread-72-1-1.html]mysql的grant命令,对mysql用户权限的增删改查[/url]

微信公众号:程序员到架构师

最新文章

Return Top