Jupyter连接MySQL报caching_sha2_password不支持,常规方案尝试无效
问题解决步骤
1. 清理并重装适配的数据库连接包
如果环境中同时安装了mysql-connector和mysql-connector-python会出现依赖冲突,先全量卸载后安装稳定适配版本:
# 卸载所有冲突包 pip uninstall mysql-connector mysql-connector-python -y # 安装与Python3.9、MySQL8.0+适配的稳定版本 pip install mysql-connector-python==8.0.33
2. 修改MySQL侧用户的认证插件配置
仅在连接代码中指定auth_plugin不会修改MySQL侧的用户认证规则,需要登录MySQL命令行手动修改root用户的认证规则:
-- 登录MySQL后执行 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'oxxmcN4Fer7@HQie'; FLUSH PRIVILEGES;
修改完成后重启MySQL服务,再运行原有连接代码测试。
3. 高兼容备选方案
如果上述方案均无效,可直接替换为pymysql作为连接驱动,该驱动原生兼容mysql_native_password认证:
先安装依赖:
pip install pymysql
替换连接代码:
import pymysql mydb = pymysql.connect( host = 'localhost', user = 'root', password = 'oxxmcN4Fer7@HQie', database = 'testdb' )
内容的提问来源于stack exchange,提问作者d.p
相关产品推荐
相关产品推荐

