在使用eclipse+mybatis连接到MySQL8.0时,报错:
Client does not support authentication protocol requested by server; consider upgrading MySQL client
下面两个命令试了,都不能生效:
set password for root@localhost = old_password('密码');
或者
UPDATE mysql.user SET Password = OLD_PASSWORD('密码') WHERE Host = 'localhost' AND User'root';
这是因为SQL8更改加密插件,mysql8之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password。
使用下面的命令可以解决:
USE mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
FLUSH PRIVILEGES;