1251- Client does not support authentication protocol MySql錯誤解決方案

1:問題描述

在navicat中登錄的時候發現這個問題.

mysql版本爲8.0.

2:解決方法

1.打開命令行小黑屏,進入MySQL的bin目錄,然後輸入mysql -u root -p,登錄進去

2.然後輸入 ALTER USER '你的賬戶'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密碼'; #更新一下你的用戶的密碼 

3: FLUSH PRIVILEGES; #刷新權限

返回navicat登錄,發現成功

3:原因

網上說出現這種情況的原因是:mysql8 之前的版本中加密規則是mysql_native_password,而在mysql8之後,加密規則是caching_sha2_password, 

但是修改加密規則後,雖然能讓你登錄成功.但可能會導致其他賬戶的密碼出現問題. 我暫時沒遇到.

最安全的方法,將navicat升級到最新版本.也能解決這個問題.