今天部署阿里云服務器, 發現之前可以連接的mysql服務器突然連接不上了, 密碼我確認是正確的,但登錄時就是顯示密碼錯誤, 很崩潰, 差點氣得我就想重裝mysql了。
好在經過幾番苦尋找到了以下能解決我問題的資料, 成功解決了我的問題, 萬分感謝, 便借鑒過來,保存備忘!
原文地址:?https://blog.csdn.net/qq_33142257/article/details/71375029
?
這個問題其實說到底就是權限問題,但是一開始不清這個,導致繞了很大的一個圈子,現在終于弄清楚了;主要就涉及到一張表,mysql庫中的user表;提供兩種解決辦法
方法一、直接用客戶端連接,到mysql的user表中將其中一條user為root的記錄的host改成localhost,然后保存就好了;到shell找那個重啟mysql,然后再次通過shell登錄的時候需要輸入密碼;
如圖:
?
?
?
?方法二:
先關閉mysql服務:
?
?
然后通過安全模式在后臺啟動mysql 命令./mysqld_safe --skip-grant-tables &?,然后進入mysql,到mysql庫 :
?
?
執行插入語句:
?
?
sql語句:
INSERT INTO `user`
VALUES
?(
??'localhost',
??'root',
??password('123456'),
??'Y',
??'Y',
??'Y',
??'Y',
??'Y',
??'Y',
??'Y',
??'Y',
??'Y',
??'Y',
??'Y',
??'Y',
??'Y',
??'Y',
??'Y',
??'Y',
??'Y',
??'Y',
??'Y',
??'Y',
??'Y',
??'Y',
??'Y',
??'Y',
??'Y',
??'Y',
??'Y',
??'Y',
??'',
??'',
??'',
??'',
??'0',
??'0',
??'0',
??'0'
?);
最后重啟mysql服務,這個時候一般通過命令關閉服務是關不了的,直接將進程殺掉后啟動;