1
我正在使用MySQL-python軟件包。我能夠從命令行執行的MySQL相關的腳本,但是做同樣的通過瀏覽器(Apache的CGI)產生以下錯誤:未在CGI中執行的MySQL-python
A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.
/var/www/html/temp.py in()
9
10 # Establich a connection
11 db = MySQLdb.connection(host="127.0.0.1", user="root", passwd="", db="inserv")
12
13 # Run a MySQL query from Python and get the result set
db undefined, MySQLdb = <module 'MySQLdb' from
'/usr/lib64/python2.6/site-packages
/MySQLdb/__init__.pyc'>, MySQLdb.connection = <type '_mysql.connection'>,
host undefined, user undefined, passwd undefined
<class '_mysql_exceptions.OperationalError'>:
(2003, "Can't connect to MySQL server on '127.0.0.1' (13)")
args = (2003, "Can't connect to MySQL server on '127.0.0.1' (13)")
message = ''
我一直停留在這種情況下,過去的幾天。通過基於php的站點發出的MySQL命令可以正確執行,我也可以通過命令行登錄到MySQL。這個問題似乎只與Python CGI有關。
我也試過與oursql包相同,似乎也有類似的問題。我該如何處理這種情況?
編輯
按@真正的答案我已經編輯我的代碼使用MySQLdb.connect()
但問題依然存在,並回溯結尾:
2003, "Can't connect to MySQL server on '127.0.0.1' (13)"
我已根據您的答案更改了我的代碼,但問題仍然存在。 (我已經更新了這個問題) – WeaklyTyped 2012-07-14 16:10:04
也許看看MySQL日誌。我還會驗證MySQL確實正在監聽本地主機上的TCP端口。您的其他腳本可能使用UNIX套接字而不是TCP連接。 – 2012-07-14 16:14:24
通過套接字(使用本地主機而不是127.0.0.1)連接的公平性足夠用於CGI腳本,但失敗時使用SqlALchemy'create_engine' – WeaklyTyped 2012-07-14 16:21:01