我刚从Ubuntu 19更新了我的系统。1到20.02 -看起来之前所有的MySQL设置都被删除了。
当前系统已安装MySQL 8(服务器+客户端)。
我想访问的服务器有MySQL 5。1.
每次我尝试使用SqlAlchemy连接时,都会收到以下错误:
sqlalchemy.exc.OperationalError: (mysql.connector.errors.OperationalError) 1043 (08S01): Bad handshake
从我读到的-这个错误发生是因为我试图连接到的服务器运行的MySQL版本太旧了。
有没有办法降级MySQL连接器,以解决连接问题?
3条答案
按热度按时间h79rfbju1#
我可以通过卸载最新的连接器来完成这项工作:
然后安装旧版本的连接器:
要检查连接器版本,可以用途:
cnwbcb6i2#
很抱歉晚才回答。在
connect()
函数的调用中添加参数use_pure=True
。版本80.11及以上默认为False。
igetnqfo3#
如果您尝试连接到较旧的安装,如MySQL版本5。0.67从一个较新的Python安装,如Python版本3。8.10然后停止错误1043(08 S 01):握手错误,请执行以下操作以降级连接器:
1.使用msi文件或pip install卸载您安装的任何mysql-connector-python。举个例子
py -3 -m pip uninstall mysql-connector-python-x.x.x或如果它是msi安装,从控制面板卸载它-程序和功能
1.接下来下载一个旧的mysql-connector-python e的zip文件。g. mysql-connector-python-2。2.2(您可以在https://dev.mysql.com/downloads/connector/python/的“归档”选项卡上找到该列表)
1.将文件解压缩到目录e。g.如果你的python安装在C盘的根目录,解压你在C:\python上下载的mysql-connector,这样你就有了结果文件夹结构C:\python\ mysql-connector-python-2。2.2(如果您愿意,您可以在下载文件夹中执行此操作)
1.现在使用“以管理员身份运行”打开DOS提示符,并导航到C:\python\ mysql-connector-python-2。2.2(或您下载的任何版本)
1.从那里运行以下命令
py -3 www.example.com install
这在Windows 7操作系统上为我工作。从逻辑上讲,你可以让它在其他操作系统上为你工作。