1

標準スクリプト(または他のスクリプト)を使用すると、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)")
4

2 に答える 2

0
  1. mysql サーバーが実行されているかどうかを確認します。
  2. ファイアウォールがポート 3306 をブロックしているかどうかを確認します。
于 2012-07-25T01:44:25.907 に答える
0
  1. データベースは同じマシン上にありますか(したがって「localhost」)?そうでない場合は、適切な IP を使用してください

  2. ユーザー「root」は、ホスト「localhost」からデータベース「sakila」へのアクセス許可を持っていますか? そうでない場合は、権限を付与します

于 2012-07-25T01:38:25.610 に答える