在python中引入MySQLdb库,执行
conn = MySQLdb.connect(host=global_cnf.host,
port=int(global_cnf.port),
user=global_cnf.user
)
连接mysql8时候报错:_mysql_exceptions.OperationalError: (2059, "Authentication plugin 'caching_sha2_password' cannot be loaded:.........
如果直接用shell脚本连接则正常。
最终处理办法:
ALTER USER 'user'@'ip' IDENTIFIED WITH mysql_native_password BY 'password';
ip可以为“%”:代表所有ip;
password:可以为真实 的password,也可以为空;
还可以重新创建用户:
以test用户,所有机器免密为例
CREATE USER test IDENTIFIED BY 'test';
GRANT all on *.* TO 'test'@'%';
ALTER USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY '';