无法连接到“本地主机”(10061)上的 MySQL 服务器,但可以通过 PHP

Jan*_*ieT 5 mysql5

使用 WAMP 2.2 在我的 Windows XP 开发机器上为 Apache 2.2.21、MySQL 5.5.16 和 PHP 5.3.8 提供服务,我可以通过 phpMyAdmin 或任何本地托管的 PHP 脚本使用类似“ mysql:host=localhost ”的 DNS 连接和管理我的数据库;dbname=kwamjing "

当我尝试通过 HeidiSQL 或 MySQL Query Browser 等管理工具连接到 MySQL 时,我得到

Error 2003 Can't connect to MySQL server on 'localhost' (10061)
Run Code Online (Sandbox Code Playgroud)

防火墙可以阻止 HeidiSQL 访问 127.0.0.1:3306 而不是 PHP?

更新

通过 netstat -an 查看我的活动连接,我只看到 ipv6 环回监听 3306

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
Run Code Online (Sandbox Code Playgroud)

Pau*_*aul 2

由于您只监听 ipv6,因此 php 一定已经弄清楚了这一点并正在建立 ipv6 连接。

HeidiSQL 可能不支持 ipv6,并尝试连接到 ipv4 上的 mysql,但失败。如果您将mysqld 部分bind-address中的更改my.cnf

bind-address=127.0.0.1
Run Code Online (Sandbox Code Playgroud)

它应该修复它。