mysql绑定ipv6导致远程连接不上

mysql绑定ipv6导致远程连接不上,第1张

配置mysql的配置文件/etc/my.conf,在mysqld下面添加bind-address=0.0.0.0 然后重新启动mysql服务就能正常监听ibv4地址了

参考:

这个概念只有本机能做到,其他机器是无法做到的。

windows下,默认本机的IP就是127.0.0.1,其他机器是不能访问的。也就是说无论任何计算机,windows下127.0.0.1都是本机。

除非在其他访问机器上配置DNS解析127.0.0.1为mysql服务器地址。这个工作量巨大。

1.排除网络或防火墙问题

先看是否能ping通远程服务器,ping 192.168.1.211,如果不可以就是网络问题。然后,检查端口是否被防火墙挡住了,telnet 192.168.1.211 3306,如果连接失败,配置防火墙。

配置防火墙,开启3306端口

vi /etc/sysconfig/iptables

-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允许3306端口通过防火墙)

/etc/init.d/iptables restart(重启防火墙使配置生效)

2.检查MySQL配置

如果开启了防火墙,telnet还是失败,通过netstat查看3306的端口状态:

netstat -apn|grep 3306

tcp6 0 0 127.0.0.1:3306 :::* LISTEN13524/mysqld

注意地方,这说明3306被绑定到了本地。检查一下my.cnf的配置,这里可以配置绑定ip地址。

bind-address=addr

不配置或者IP配置为0.0.0.0,表示监听所有客户端连接。

ps:我开启3306端口,并且检查MySQL配置之后,telent仍然失败,但是在本机telnet是ok的,再三确认了配置没有问题。后来跟我们的ucloud账号管理员提了一下,才知道ucloud管理后台也需要开启3306端口,用云服务器的留意这个。

3.检查用户访问权限

MySQL建用户的时候会指定一个host,默认是127.0.0.1/localhost,那么这个用户就只能本机访问,其它机器用这个用户帐号访问会提示没有权限,host改为%,表示允许所有机器访问。

最后,别忘了重启mysql使配置生效。

# /etc/init.d/mysql restart

望采纳


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/63317.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-02-28
下一篇2023-02-28

发表评论

登录后才能评论

评论列表(0条)

    保存