我看了很多篇文章,说出现的原因基本都是现有的连接数据库软件客户端不支持MySQL8新增的“caching_sha2_password”加密方式
解决方式
mysql -uroot -ppassword #登录
use mysql; #选择数据库
# 远程连接请将'localhost'换成'%'
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #更改加密方式
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新用户密码
FLUSH PRIVILEGES; #刷新权限
解决方式来源其他博主内容
连接服务器的MySQL时(本文针对Navicat),通过ssh连接服务器,然后再以本地的身份连接MySQL,那么在更改上方权限时,就不能够以远程登录的形式"%"更改权限,而应该是以“localhost”去修改权限,再刷新之后就可以正常连接上MySQL。