使用navicat連接Linux的mysql出現的1251錯誤代碼

第一次接觸centos7,折騰了兩天了才解決了!!!
之前在centos7上拉取了mysql 8.0.17的版本,然後使用navicat進行遠程連接的時候一直報1251的錯誤,查詢之後發現是MySQL5.0和MySQL8.0加密方式不同,MySQL5.0加密規則是:mysql_native_password,MySQL8.0加密規則是:caching_sha2_password,所以要統一加密規則。有兩種方式:一種升級驅動,另一種將MySQL的加密規則還原成mysql_native_password。
這裏採用的是第二種方式。

1)首先進入容器
docker exec -it mysql01 bash (注:mysql01爲容器名)
在這裏插入圖片描述
2)mysql的命令行
mysql -uroot -p
密碼
在這裏插入圖片描述
3)操作mysql
use mysql;
在這裏插入圖片描述
4)修改加密規則
ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘675576’;
(注:%表示任意的ip,當然也可以改成某個ip;
by 後面的那一串是你自己的mysql登錄密碼)
在這裏插入圖片描述
5)刷新權限表
FLUSH PRIVILEGES;
在這裏插入圖片描述
再使用navicat登陸,發現成功了

讓我這個小白覺得慚愧的是,我用的是遠程連接,但我上述的操作一開始在windows上操作了好幾遍,結果當然是沒辦法成功了,雖然耗了兩天,但最後解決了還是挺高興的,也希望對你們有幫助。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章