安裝MySQL8.0之后,使用Navicat連接數據庫,報1251錯誤。
上網搜索解決方案,網上說出現這種情況的原因是:mysql8 之前的版本中加密規則是mysql_native_password,而在mysql8之后,加密規則是caching_sha2_password,
解決問題方法有兩種:
方法1.升級navicat驅動;
方法2.把mysql用戶登錄密碼加密規則還原成mysql_native_password.
這里采用方法2解決,具體操作步驟如下:
1.打開命令行小黑屏,進入MySQL的bin目錄,然后輸入mysql -u root -p,輸入密碼
2.然后輸入
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密規則 (這行我沒有寫,不過貌似也可以)
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用戶的密碼
FLUSH PRIVILEGES; #刷新權限
3.輸入剛剛修改的密碼,再次測試連接,驚喜地發現連接成功
原文:https://blog.csdn.net/seventopalsy/article/details/80195246