web-dev-qa-db-ja.com

'localhost'(10061)でMySQLサーバーに接続できませんが、PHP

WAMP2.2がApache2.2.21、MySQL 5.5.16、およびPHP 5.3.8 on my Windows XP開発マシンを提供しているので、データベースに接続して管理できますphpMyAdminまたはローカルでホストされているPHPスクリプト( "mysql:Host = localhost; dbname = kwamjing"など)を使用

HeidiSQLやMySQLクエリブラウザなどの管理ツールを介してMySQLに接続しようとすると、

Error 2003 Can't connect to MySQL server on 'localhost' (10061)

ファイアウォールは、HeidiSQLが127.0.0.1:3306にアクセスするのをブロックできますが、PHPはブロックできませんか?

[〜#〜] update [〜#〜]

Netstatを介してアクティブな接続を見ると、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
5
JannieT

あなたはipv6だけを聞いているので、phpはこれを理解し、ipv6接続を確立しているに違いありません。

HeidiSQLはおそらくipv6をサポートしておらず、ipv4でmysqlに接続しようとして失敗しています。 bind-addressmysqldセクションのmy.cnfを次のように変更した場合

bind-address=127.0.0.1

修正する必要があります。

2
Paul

はい、Windowsファイアウォールをチェックして、管理ツールのアクセスをブロックしていないことを確認してください。

0
KoKo