pymysql.err.InternalError: Номер последовательности пакетов неверен - получил 45 ожидаемых 0

Я пытаюсь подключиться к базе данных mysql через pymysql. Все работает, когда я SSH в базу данных через терминал. Итак, эта информация верна. Однако, когда я использую ту же информацию при использовании pymysql, я получаю следующую ошибку:

pymysql.err.InternalError: Packet sequence number wrong - got 45 expected 0

Версия pymysql: 0.9.2

Код (обратите внимание, что я изменил информацию о хосте, пользователе, пароле, db и порту по соображениям безопасности).

import pymysql.cursors

connection = pymysql.connect(host='myhost',
                             user='userid',
                             password='mypassword',
                             db='my_database',
                             charset='utf8mb4',
                             port=9047,
                             cursorclass=pymysql.cursors.DictCursor)

except Exception as e:
    print('connection failed')
    print(e)

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

Кто-нибудь сталкивался с этим раньше? Если да, то как вы его решили?

Спасибо!

* Я также пытался использовать разные порты. Я заметил здесь, что они использовали порт 22 или 3306, но с портом 22, я получаю ошибку таймаута и порт 3306, я получаю ошибку отказа в доступе.

python,mysql,pymysql,

0

Ответов: 2


0

Я думаю, причина в том, что вы используете multithread для подключения к mysql за один раз, сервер mysql возвращает неверный ответ здесь.


0 принят

Хорошо, я понял это.

Мне просто нужно было удалить

cursorclass=pymysql.cursors.DictCursor

и теперь это работает :)

Спасибо всем!

питон, MySQL, pymysql,
Похожие вопросы