一次在为了尝试使用 IPv6 网络而在 Windows XP SP3 环境中启用了 IPv6 协议之后,发现 HeidiSQL、Navicat Lite 9 这两个客户端均无法连接到在本机搭建的 MySQL 服务器 localhost ,而在 Apache + PHP 环境中运行的 phpMyAdmin 却是正常,虽然知道是 IPv6 引起的,但是卸载掉 IPv6 实在是个低级的办法,于是摸索着其它解决方法,估计是由于启用了 IPv6 后 MySQL 默认绑定到了 ::1 这个 IPv6 的回环地址上,然后找到了一个办法,在my.ini添加 bind-address 配置如下:
[mysqld] # The TCP/IP Port the MySQL Server will listen on port=3306 # 如果启用了IPv6,默认会绑定IPv6地址,某些MySQL管理软件不支持连接到IPv6的地址(如[::1]:3306),故此处设置绑定IPv4地址 bind-address = 0.0.0.0
博主试试:
1.断网,连接mysql的速度是很快,因为不解析到ipv6;
2.联网,连接mysql的速度是很慢,因为解析到ipv6;
这个bug是xp的,也是mysql的。当然,win 7等不会出现这个问题。最佳的建议是使用ipv4连接,而不是localhost或其它连接。
用了你的方法,我mysql服务无法启动,报错1067,删除bind-address=0.0.0.0,重启,恢复正常