第一次接觸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上操作了好幾遍,結果當然是沒辦法成功了,雖然耗了兩天,但最後解決了還是挺高興的,也希望對你們有幫助。