前言
開始在學習使用MySQL時很是順暢,但是在使用Navicat連接MySQL數據庫是遇到一個棘手的問題。
正文:
前面配置用戶名密碼和端口號都對,服務也啓動了,並且使用命令提示符可以正常操作數據庫,只有在使用Navicat連接時出問題。
軟件版本:
Navicat版本:11.0.10 - premium
MySQL版本:8.0.11
問題如下圖:
解決方法:
- 修改加密規則
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER; - 更新一下用戶的密碼
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’; - 刷新權限
FLUSH PRIVILEGES;
(解決問題方法有兩種,一種是升級navicat驅動,一種是把mysql用戶登錄密碼加密規則還原成mysql_native_password。)
注意:用戶名要根據自己開始時設置的爲準,文中root爲管理員賬戶
問題原因:
- mysql8 之前的版本中加密規則是mysql_native_password,而在mysql8之後,加密規則是caching_sha2_password
感謝:https://blog.csdn.net/qq_36068954/article/details/80175755