標準スクリプト(または他のスクリプト)を使用すると、Pythonをmysqlに接続できません。私は現在、Conceptive Engineering(Python 2.7.2)のPython SDKforWindowsを使用しています。以前、Enthoughtから無料でダウンロードしてみました(おそらくmysqldbを個別に追加します)。mysqlに関しては、最新バージョンは、自動的に正しくインストールされることになっているユニバーサルWindowsダウンロードです(mysql-installer-5.5.25a0.msi)。ワンサイズインストーラーなしでmysql5.1、5.0を試した後、これを試しました(64ビットの場合もあれば32ビットの場合もあります)。
すべての場合において、pythonとmysqlの両方が完全に個別に機能します。また、接続を試みる前に、mysqlWindowsサービスが実行されていることを確認できます。
メインスクリプトは2行に分けることができます。
#this one always works without error in ipython
import MySQLdb
#this one never works, though all the variables test out in mysql fine
con = MySQLdb.connect(host="localhost", port=3306, user="root", db="sakila")
これがipythonからの出力です
OperationalError Traceback (most recent call last)
C:\Program Files (x86)\PythonSDK\<ipython-input-3-1ffbd20d17a9> in <module>()
----> 1 con = MySQLdb.connect(host="localhost", port=3306, user="root", db="sakila")
C:\Program Files (x86)\PythonSDK\lib\site-packages\mysql_python-1.2.3-py2.7-win32.egg\MySQLdb\__init__.py in Connect(*args, **kwargs)
79 """Factory function for connections.Connection."""
80 from connections import Connection
---> 81 return Connection(*args, **kwargs)
82
83 connect = Connection = Connect
C:\Program Files (x86)\PythonSDK\lib\site-packages\mysql_python-1.2.3-py2.7-win32.egg\MySQLdb\connections.py in __init__(self, *args, **kwargs)
185 kwargs2['client_flag'] = client_flag
186
--> 187 super(Connection, self).__init__(*args, **kwargs2)
188
189 self.encoders = dict([ (k, v) for k, v in conv.items()
OperationalError: (2003, "Can't connect to MySQL server on 'localhost' (10061)")