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不兼容吧
811

被折叠的 条评论
为什么被折叠?



