Я думаю, причина в том, что вы используете multithread для подключения к mysql за один раз, сервер mysql возвращает неверный ответ здесь.
Я пытаюсь подключиться к базе данных 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, я получаю ошибку отказа в доступе.