MySqldb连接mysql报错:“Authentication plugin ‘mysql_native_password‘ cannot be loaded

python环境:3.13.9
mysqlclient: 2.2.7
操作系统:mac

连接mysql的脚本:

import MySQLdb

conn = MySQLdb.connect(
    host="rw-19eb41.mysql.qihudb.net",        # MySQL 地址
    port=3970,               # MySQL 端口
    user="super15374_rw",             # 用户名
    passwd="3f711fd13bc0ce72",       # 密码
    db="deep_label",             # 数据库名
    charset="utf8mb4"        # 编码
)

# 2️⃣ 创建游标
cursor = conn.cursor()

报错信息:

MySQLdb.OperationalError: (2059, "Authentication plugin 'mysql_native_password' cannot be loaded: dlopen(/opt/miniconda3/envs/deep-label/lib/plugin/mysql_native_password.so, 0x0002): tried: '/opt/miniconda3/envs/deep-label/lib/plugin/mysql_native_password.so' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/miniconda3/envs/deep-label/lib/plugin/mysql_native_password.so' (no such file), '/opt/miniconda3/envs/deep-label/lib/plugin/mysql_native_password.so' (no such file)")

刚开始以为是mysqlclient的版本不对,把mysqlclient降到2.2.0,还报这个错。后来用conda创建了一个python=3.12的虚幻境,同样的代码,不报错。创建一个python=3.10的虚幻境,执行脚本,也不报错。可能是python3.13和mysqlclient不兼容吧

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值