目录
原因
使用客户端链接mysql数据库,如果数据库版本高于8.0,可能出现以上问题,因为8.0以前默认使用mysql_native_password身份验证机制,8.0以后使用caching_sha2_password方式
连接数据库的时候出现这个问题的解决方法
conn = mysql.connector.connect(
host = "localhost",
user = "root",
passwd = "",
database = "",
auth_plugin = "mysql_native_password")
在连接后面添加:auth_plugin = "mysql_native_password"
创建数据库连接池时解决方法
import mysql.connector.pooling
# 定义连接需要的参数,用字典封存,私有参数
__config = {
"host":"localhost",
"port":3306,
"user":"root",
"password":"00000",
"database":"vega",
"auth_plugin":'mysql_native_password'
}
import pymysql
# 创建连接池,定义最大连接数
try:
pool = mysql.connector.pooling.MySQLConnectionPool(
**__config,
pool_size=10
)
except Exception as e:
print("创建连接池出现异常:",e)
在连接后面添加:auth_plugin = "mysql_native_password"