首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么mysql.connector对python2.7没有问题,而不使用python3呢?

问为什么mysql.connector对python2.7没有问题,而不使用python3呢?
EN

Stack Overflow用户
提问于 2020-04-12 14:57:05
回答 1查看 566关注 0票数 0

我查看了不同的帖子,比如:Is there a way to use 'pool_reset_connection' from mysql-connector-python with MariaDB 10.4.7?

但是我无法解决我的isue,我有一个用python2.7编写的程序;现在我把所有东西都移到python3,但是我在mysql.connector上遇到了问题。

在这一刻,我使用python3.8.2和mysql-连接器- python =8.0.19,但是我尝试使用不同版本的python 3,但是当我试图关闭连接时,在mysql.connector上总是会遇到相同的错误。

代码语言:javascript
复制
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-连接器库,就像在其他堆栈溢出票据中解释的那样,但是每次我更改它时,我都会遇到其他问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-12 17:09:10

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

由于复制不适用于2位主版本号,MariaDB使用了一个称为RPL的方法,它是在10.0版中引入的,并将下面的版本号发送给客户端5.5.5-10.4.13-MariaDB。另见What does the first part of the MariaDB version string mean。

由于MariaDB连接器/Python不知道它,所以它假设服务器版本号为5.5.5,并在检查>= 5.7.3时将引发>=异常。

您可以修补MySQL连接器/Python(在do_handshake()中修复server_version ),也可以尝试MariaDB连接器/Python。它目前是测试版,但GA预计本月仍在运行(pip3 install mariadb)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61173405

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档