Python连接MySQL 8.4.0出现“Authentication plugin ‘caching_sha2_password’ is not supported”错误解决方法指南
一、原因: MySQL 是 8.0 版本之后,密码插件验证方式发生了变化,早期版本为 mysql_native_password,8.0 版本之后为 caching_sha2_password。
这个错误是因为你的MySQL服务器使用了 “caching_sha2_password” 认证插件,而你的Python MySQL驱动程序(mysql-connector)不支持该认证插件。
二、解决方法
卸载原有的插件,重新安装新的插件。
1、pip uninstall mysql-connector
2、pip uninstall mysql-connector-python
3、pip install mysql-connector-python
三、连接方式
import mysql.connector
from mysql.connector import Error
try:
# 连接参数
conn_params = {
'user': 'yourusername',
'password': 'yourpassword',
'host': 'yourhost',
'database': 'yourdatabase',
'auth_plugin': 'caching_sha2_password'
}
# 连接到MySQL
conn = mysql.connector.connect(**conn_params)
# 创建一个cursor对象
cursor = conn.cursor()
# 执行查询
cursor.execute('SELECT * FROM your_table')
# 获取查询结果
rows = cursor.fetchall()
print(rows)
# 关闭cursor和connection
cursor.close()
conn.close()
except Error as e:
print(f"Error: {e}")
作者:1575375556