原因:
mysql 8.0 版本默認使用 caching_sha2_password 身份驗證機制
mysql 8.0以前版本使用 mysql_native_password
低版本升級到8.0 驗證方式不變,新用戶使用8.0驗證方式改變,而客戶端不支持新的加密方式
解決方案:
方法之一:修改用戶的密碼和加密方式
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
注意:
1. 之前可能由於設置遠程連接的問題而在mysql.user表中對root的Host列做了修改,要確定上面的 localhost 必須存在於該表中user爲root的Host列中。
2. 如上語句,只針對使用root用戶在localhost下連接生效
方法二:修改文件 /etc/my.cnf
default_authentication_plugin=mysql_native_password