0

Чтобы предисловие к этому, я понимаю, что этот вопрос задан before, но разрешения не было достигнуто. Надеясь, что два года могут повлиять на понимание проблемы.Интерфейс MySQL/Python InterfaceError: «Не удалось разобрать EOF-пакет» только на конкретном хосте

Я пытаюсь устранить проблему, когда я вижу эту ошибку mysql.connector.errors.InterfaceError: Failed parsing EOF packet.

Вот полная цепочка:

Python 2.7.10 (default, Oct 23 2015, 19:19:21) 
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import mysql.connector as connector 
>>> sql = connector.connect(host='remote_host', user='user', password='pw', database='db') 
>>> cursor = sql.cursor() 
>>> sql.is_connected() 
True 
>>> cursor.execute("select * from associations") 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/Library/Python/2.7/site-packages/mysql/connector/cursor.py", line 515, in execute 
    self._handle_result(self._connection.cmd_query(stmt)) 
    File "/Library/Python/2.7/site-packages/mysql/connector/connection.py", line 488, in cmd_query 
    result = self._handle_result(self._send_cmd(ServerCmd.QUERY, query)) 
    File "/Library/Python/2.7/site-packages/mysql/connector/connection.py", line 407, in _handle_result 
    eof = self._handle_eof(self._socket.recv()) 
    File "/Library/Python/2.7/site-packages/mysql/connector/connection.py", line 344, in _handle_eof 
    eof = self._protocol.parse_eof(packet) 
    File "/Library/Python/2.7/site-packages/mysql/connector/protocol.py", line 269, in parse_eof 
    raise errors.InterfaceError(err_msg) 
mysql.connector.errors.InterfaceError: Failed parsing EOF packet. 

Что странно, что у меня есть локальная база данных создана с точно такая же структура, с той же информацией, и работает через ту же последовательность команд, работает отлично. Моя локальная версия сервера - 5.7.12 MySQL Community Server (GPL), тогда как удаленный сервер, к которому я пытаюсь подключиться, - 4.1.22-log.

С/Разъем руководства Python:

Connector/Python does not support the old MySQL Server authentication methods, which means that MySQL versions prior to 4.1 will not work.

ли "до" включить или исключить из 4.1? Если это исключает любые идеи о том, что может пойти не так?

ответ

0

Никогда не нашел решение для mysql.connector, но нашел другой разъем - PyMySQL, который отлично работал. Не нужно даже менять синтаксис.

Смежные вопросы