MySQL を使用して基本的なトランザクション データベースをセットアップしました。python/MySQLdb を使用すると、これは正常に機能します。
connection = MySQLdb.connect (host = "127.0.0.1", port = 3306, user = "root", passwd = "password", db = "test")
しかし、これはしません:
connection = MySQLdb.connect (host = "localhost", port = 3306, user = "root", passwd = "password", db = "test")
後者を使用すると、次のエラーが生成されます。
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "path\to\virtualenv\lib\site-packages\MySQLdb\__init__.py", line 81, in Connect
return Connection(*args, **kwargs)
File "path\to\virtualenv\lib\site-packages\MySQLdb\connections.py", line 187, in __init__
super(Connection, self).__init__(*args, **kwargs2)
_mysql_exceptions.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' (10061)")
MySQLdb が localhost を解決できない理由について、私は少し混乱していることを認めなければなりません。C:\Windows\System32\drivers\etc\hosts ファイルは変更されていません。通常の Windows コマンド プロンプトを使用するping localhost
と、telnet localhost 3306
どちらも正常に動作します。
環境:
- Windows 7 (64 ビット)
- Python 2.7.2 (32 ビット)
- MySQL データベース 1.2.3
- MySQL 5.5.28 (64 ビット)