连接数据库时报错,是因为新版本的mysql(8.0) root用户使用caching_sha2_password这种新的更安全的验证方式,因此想要连接的成功的最简单方法是把验证方式修改为之前的方式:mysql_native_password,即登陆后输入
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'XXXX';
'xxxx'填你的密码。然后查看是否改变
use mysql;
select user,host,plugin from user\G;
可以看出验证方式已改。
ps:网上一些其他方法中的改变的是'root'@'localhost' ,它和'root'@ '%' 不一样,在MySQL 5.7及以后的版本,%包括localhost,之前则不包括。