我正在尝试通过pymysql连接到mysql数据库。当我通过终端SSH进入数据库时,一切正常。因此,该信息是正确的。但是,当我在使用pymysql输入相同的信息时,出现以下错误:
pymysql.err.InternalError: Packet sequence number wrong - got 45 expected 0
pymysql版本:0.9.2
代码(请注意,出于安全原因,我更改了有关主机,用户,密码,数据库和端口的信息)。
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)
此代码较早起作用。我不得不为另一个项目升级软件包,现在它退出了工作。我认为这可能是原因。
以前有人遇到过吗?如果是这样,您是如何解决的?
谢谢!
*我也尝试过使用其他端口。我注意到here他们使用了端口22或3306,但是使用端口22会出现超时错误,而使用端口3306会出现拒绝访问错误。
答案 0 :(得分:1)
我认为原因是您一次使用多线程连接到mysql,mysql服务器在此返回错误响应。
答案 1 :(得分:0)
好的,我知道了。
我只需要删除
cursorclass=pymysql.cursors.DictCursor
现在可以使用了:)
谢谢大家!