2013-03-22 48 views
0

我使用下面的代碼用於連接的Python代碼連接到數據庫:如何使用MySQL的

import MySQLdb 



db = MySQLdb.connect("localhost","root","root","test") 


cursor = db.cursor() 


cursor.execute("SELECT * from student") 


data = cursor.fetchone() 
print "Database result : %s " % data 


db.close() 

我運行的文件中得到以下錯誤:

Traceback (most recent call last): 
File "C:/Python27/xsxs.py", line 5, in <module> 
db = MySQLdb.connect("localhost","root","root","test") 
File "C:\Python27\lib\site-packages\MySQLdb\__init__.py", line 81, in Connect 
return Connection(*args, **kwargs) 
File "C:\Python27\lib\site-packages\MySQLdb\connections.py", line 187, in __init__ 
super(Connection, self).__init__(*args, **kwargs2) 
OperationalError: (2003, "Can't connect to MySQL server on 'localhost' (10061)") 

我怎樣才能解決這個問題。

+0

是你的數據庫/服務器憑據正確寫入?嘗試在shell中運行「mysql -u root -p root」並告訴我們你看到了什麼。然後在mysql shell中嘗試「使用測試」並檢查是否可以選擇數據庫。 – 2013-03-22 09:19:16

+0

您的代碼嘗試連接到與Python代碼運行在同一臺計算機上的mySQL服務器。如果這就是你最想要的,那麼你的本地機器上的數據庫沒有運行,你需要在運行python代碼之前啓動它。 – Paul 2013-03-22 09:19:32

回答

1

問題似乎是沒有MySQL服務器在你的windwos主機上運行。你要麼必須安裝它(http://www.mysql.de/why-mysql/windows/)或者選擇其他服務器一樣

db = MySQLdb.connect("my_mysql_host.mydomain.tld","root","root","test") 

完蛋了。

問候

1

檢查你的ConnectionString:

db = MySQLdb.connect(host="localhost", # your host, usually localhost 
        user="username", # your username 
         passwd="Pswrd", # your password 
         db="MyDB") # name of the data base 

這做將幫助你:

How do I connect to a MySQL Database in Python?

問候