python解析数据包时出现问题_MySQL Connector / Python InterfaceError:“解析EOF数据包失败”...
據我所知,我已經安裝了MySQL Connector / Python(v1.2.3)模塊沒有問題 . 這是在CentOS 5.4上使用Python 2.7.7(Anaconda發行版,盡管在vanilla安裝上也是如此) . 我可以導入它并初始化與MySQL服務器的連接(v4.1.20) . 此服務器通過LAN訪問,而不是本地訪問 . is_connected() 方法斷言我已正確連接
>>> import mysql.connector
>>> cnx = mysql.connector.connect()
>>> cursor = cnx.cursor()
>>> cnx.is_connected()
True
但是,每當我嘗試直接通過游標命令(例如 cursor.execute("SELECT DATABASE();") )或間接通過mysql.connector方法(例如 get_database() )執行任何SQL查詢時,我都會得到相同的錯誤,如下所示:
>>> cnx.get_database()
Traceback (most recent call last):
File "", line 1, in
File "/home/bgrande/software/genesis/anaconda-2.0.1/lib/python2.7/site-packages/mysql/connector/connection.py", line 1200, in get_database
return self._info_query("SELECT DATABASE()")[0]
File "/home/bgrande/software/genesis/anaconda-2.0.1/lib/python2.7/site-packages/mysql/connector/connection.py", line 1434, in _info_query
cursor.execute(query)
File "/home/bgrande/software/genesis/anaconda-2.0.1/lib/python2.7/site-packages/mysql/connector/cursor.py", line 494, in execute
self._handle_result(self._connection.cmd_query(stmt))
File "/home/bgrande/software/genesis/anaconda-2.0.1/lib/python2.7/site-packages/mysql/connector/connection.py", line 683, in cmd_query
statement))
File "/home/bgrande/software/genesis/anaconda-2.0.1/lib/python2.7/site-packages/mysql/connector/connection.py", line 612, in _handle_result
eof = self._handle_eof(self._socket.recv())
File "/home/bgrande/software/genesis/anaconda-2.0.1/lib/python2.7/site-packages/mysql/connector/connection.py", line 554, in _handle_eof
eof = self._protocol.parse_eof(packet)
File "/home/bgrande/software/genesis/anaconda-2.0.1/lib/python2.7/site-packages/mysql/connector/protocol.py", line 252, in parse_eof
raise errors.InterfaceError(err_msg)
mysql.connector.errors.InterfaceError: Failed parsing EOF packet.
在此之后,似乎與MySQL服務器的連接丟失了 . 另一次運行 get_database() 的嘗試返回以下錯誤:
>>> cnx.get_database()
Traceback (most recent call last):
File "", line 1, in
File "/home/bgrande/software/genesis/anaconda-2.0.1/lib/python2.7/site-packages/mysql/connector/connection.py", line 1200, in get_database
return self._info_query("SELECT DATABASE()")[0]
File "/home/bgrande/software/genesis/anaconda-2.0.1/lib/python2.7/site-packages/mysql/connector/connection.py", line 1433, in _info_query
cursor = self.cursor(buffered=True)
File "/home/bgrande/software/genesis/anaconda-2.0.1/lib/python2.7/site-packages/mysql/connector/connection.py", line 1328, in cursor
raise errors.OperationalError("MySQL Connection not available.")
mysql.connector.errors.OperationalError: MySQL Connection not available.
這由 is_connected() 方法確認 .
>>> cnx.is_connected()
False
另外,我應該提到在這個局域網上的另一臺計算機上使用類似的設置(CentOS 5.5; Python 2.7.6),我已成功使用MySQLdb模塊與數據庫進行交互 . 然而,與mysql.connector模塊完全相同的Python安裝不能(由于相同的錯誤) . 我試圖在這里提到的第一臺計算機上安裝MySQLdb,但我遇到了問題 . 我認為MySQL Connector / Python可以更容易地工作 .
我擔心這很難復制,因為它可能取決于我的具體環境 . 盡管如此,我還是希望能夠采取措施縮小問題所在的范圍 . 謝謝!
總結
以上是生活随笔為你收集整理的python解析数据包时出现问题_MySQL Connector / Python InterfaceError:“解析EOF数据包失败”...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python response.json
- 下一篇: 小强升职记梗概_《小强升职记》读后感