使用客户端链接mysql数据库,如果数据库版本高于8.0,可能出现以上问题,因为8.0以前默认使用mysql_native_password身份验证机制,8.0以后使用caching_sha2_password方式
解决1:登录数据库,执行命令ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root用户对应密码';
解决2:mysql安装目录下新建my.ini文件,设置mysql_native_password为默认身份验证方式default_authentication_plugin=mysql_native_password
,其他设置项可参考官方文档
python使用mysql-connector方式连接数据库如果出现此问题,使用以上方式后若继续报错,应在语句中指明身份验证方式,即:
conn = mysql.connector.connect(
host = "localhost",
user = "root",
passwd = "",
database = "",
auth_plugin = "mysql_native_password")