1.問題描述
版本:【CentOS8】【MySQL5.7】
問題:遠程使用navicat連接不上數據庫,后來試了在linux中都登不進去。根據提示應該是密碼不對,此文主要介紹密碼修改
和一些注意事項。
2.解決方法
1)因為現在登不進去,所以沒法修改密碼,首先在linux中:
在最下面加上一行skip-grant-tables:
這行意思是跳過授權表,就是可以不用用戶名密碼登錄。
然后重啟mysql:
2) 在mysql中修改密碼:
直接輸入mysql就可以登入:
然后輸入use mysql ,使用mysql這個數據庫,再update user表的authentication_string字段:
然后編輯一開始修改的/etc/my.cnf文件將skip-grant-tables刪掉。
最后重啟數據庫就可以了,已經可以用密碼登陸了,遠程也可以連接。
3.注意事項
1)我的數據庫版本是5.7,所以密碼對應的字段是authentication_string,老版本可能是password;
2)字段set的值一定要是password("設置的密碼"),一開始我就大意寫成了="123456",結果是登不進去的。因為
password("設置的密碼")對密碼進行了mysql5加密,在驗證密碼時mysql會對存儲的密碼值進行解密再驗證,直接
set成123456自然不會驗證成功。