Почему mysql .connector работает без проблем с python2 .7, а не с python3? - PullRequest
0 голосов
/ 12 апреля 2020

Я проверил другой пост как: Есть ли способ использовать 'pool_reset_connection' из mysql -connector- python с MariaDB 10.4.7?

Но я могу ' я решил написать программу в python 2.7; теперь я перемещаю все в python 3, но у меня проблемы с mysql .connector.

В данный момент я использую python 3.8.2 и mysql -connector-python = = 8.0.19, но я пытаюсь использовать другую версию python 3, но всегда получаю ту же ошибку на mysql .connector, когда пытаюсь закрыть соединение.

Traceback (most recent call last):
  File "C:\Python38\lib\site-packages\mysql\connector\connection.py", line 819, in reset_session
    self.cmd_reset_connection()
  File "C:\Python38\lib\site-packages\mysql\connector\connection.py", line 1166, in cmd_reset_connection
    raise errors.NotSupportedError("MySQL version 5.7.2 and "
mysql.connector.errors.NotSupportedError: MySQL version 5.7.2 and earlier does not support COM_RESET_CONNECTION.

...
...

mysql.connector.errors.OperationalError: 1047 (08S01): Unknown command

Я не знаю, как ее решить, я пытаюсь по-другому увеличить пул и иметь другой пул или просто отключить соединение, но в большом проекте после того, как я получил выход из пула, поэтому мне действительно нужно закрыть соединение, но я не могу решить эту проблему; Может кто-нибудь помочь мне, пожалуйста?

Я даже пытаюсь изменить библиотеку mysql -connector, как объяснено в другом билете stackoverflow, но каждый раз, когда я меняю ее, у меня возникают другие проблемы.

1 Ответ

1 голос
/ 12 апреля 2020

Проблема в том, как MySQL Connector / Python определяет версию сервера:

Поскольку репликация не работает с основным номером версии 2-di git, MariaDB использует так называемый RPL хак, который был представлен в версии 10.0 и отправляет следующий номер версии клиенту 5.5.5-10.4.13-MariaDB. См. Также Что означает первая часть строки версии MariaDB .

Поскольку MariaDB Connector / Python не знает об этом, предполагается, что номер версии сервера - 5.5.5. и вызовет исключение NotSupportedError при проверке> = 5.7.3.

Вы можете либо пропатчить MySQL Connector / Python (исправление server_version в do_handshake ()), либо вы можете попробовать MariaDB Connector / Python , Это в настоящее время бета, но GA все еще ожидается в этом месяце (pip3 install mariadb)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...