在我的 Windows XP 开发机器上,WAMP 2.2 提供 Apache 2.2.21、MySQL 5.5.16 和 PHP 5.3.8,我可以通过 phpMyAdmin 或任何本地托管的 PHP 脚本使用类似“的 DNS 连接和管理我的数据库mysql:host=localhost;数据库名称=kwamjing“
当我尝试通过 HeidiSQL 或 MySQL Query Browser 等管理工具连接到 MySQL 时,我得到了
Error 2003 Can't connect to MySQL server on 'localhost' (10061)
防火墙可以阻止 HeidiSQL 访问 127.0.0.1:3306 但不能阻止 PHP 吗?
更新:
通过 netstat -an 查看我的活动连接,我只看到 3306 上的 ipv6 环回监听
Active Connections
Proto Local Address Foreign Address State
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING
TCP 0.0.0.0:2869 0.0.0.0:0 LISTENING
TCP 127.0.0.1:80 0.0.0.0:0 LISTENING
TCP 127.0.0.1:1025 0.0.0.0:0 LISTENING
TCP 127.0.0.1:2215 127.0.0.1:2216 ESTABLISHED
TCP 127.0.0.1:2216 127.0.0.1:2215 ESTABLISHED
TCP 127.0.0.1:2217 127.0.0.1:2218 ESTABLISHED
TCP 127.0.0.1:2218 127.0.0.1:2217 ESTABLISHED
TCP 127.0.0.1:5152 0.0.0.0:0 LISTENING
TCP 192.168.0.103:139 0.0.0.0:0 LISTENING
TCP 192.168.0.103:2869 192.168.0.1:4530 CLOSE_WAIT
TCP 192.168.0.103:2869 192.168.0.1:4532 CLOSE_WAIT
TCP [::]:135 [::]:0 LISTENING 0
TCP [::]:2869 [::]:0 LISTENING 0
TCP [::]:3306 [::]:0 LISTENING 0
答案1
由于您只在 ipv6 上监听,php 一定已经解决了这个问题并且正在建立 ipv6 连接。
HeidiSQL 可能不支持 ipv6,并尝试在 ipv4 上连接 mysql,但失败了。如果您将mysqld 部分bind-address
中的my.cnf
bind-address=127.0.0.1
它应该可以修复它。
答案2
是的,检查您的 Windows 防火墙,确保它没有阻止您的管理工具的访问。