为了账号安全,请及时绑定邮箱和手机立即绑定

为什么 mysql.connector 在 python2.7 和 python3 上没有问题?

为什么 mysql.connector 在 python2.7 和 python3 上没有问题?

冉冉说 2022-10-06 18:54:14
我检查了不同的帖子,例如: Is there a way to use 'pool_reset_connection' from mysql-connector-python with 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我不知道如何解决它,我尝试以不同的方式增加池并拥有不同的池,或者只是关闭连接,但是在我得到池耗尽后的一个大项目中,所以我真的需要关闭连接但我无法解决这个问题; 有人可以帮我吗?我什至尝试按照其他 stackoverflow 票证中的说明更改 mysql-connector 库,但每次更改时都会遇到其他问题。
查看完整描述

1 回答

?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

MySQL Connector/Python 如何检测服务器版本是个问题:

由于复制不适用于 2 位数的主要版本号,MariaDB 使用了所谓的 RPL hack,它是在 10.0 版本中引入的,并将以下版本号发送给客户端5.5.5-10.4.13-MariaDB。另请参阅MariaDB 版本字符串的第一部分是什么意思

由于 MariaDB 连接器/Python 不知道它,它假定服务器版本号是 5.5.5,并且在检查 >= 5.7.3 时会引发 NotSupportedError 异常。

您可以修补 MySQL Connector/Python(在 do_handshake() 中修复 server_version),也可以尝试 MariaDB Connector/Python。它目前处于测试阶段,但预计本月仍将推出 GA ( pip3 install mariadb)


查看完整回答
反对 回复 2022-10-06
  • 1 回答
  • 0 关注
  • 156 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号