mysql密碼忘記如何恢復


1. 首先找到mysql的安裝目錄, 找到.ini 配置文件,在其中在[mysqld]這個條目下加入  skip-grant-tables  保存退出后重啟mysql。 重啟服務可以在window的系統管理 中重新啟動mysql服務進程實現。或者:   

點擊“開始”->“運行”(快捷鍵Win+R)。

  2.啟動:輸入 net stop mysql

  3.停止:輸入 net start mysql

2.  然后就可以不輸入密碼進行登錄了。這時候在cmd里面輸入mysql -u root -p就可以不用密碼登錄了,出現password:的時候直接回車可以進入,不會出現ERROR 1045 (28000),但很多操作都會受限制,因為我們不能grant(沒有權限)。按下面的流程走(紅色部分為輸入部分,粉紅色的是執行后顯示的代碼不用輸入):

3.  進入mysql數據庫:

    mysql> use mysql;

4.  2.給root用戶設置新密碼,藍色部分自己輸入:
mysql> update user set password=password("新密碼") where user="root";
Query OK, 1 rows affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0

如果報錯則:

執行后報錯  ERROR 1054(42S22) Unknown column 'password' in ‘field list’

錯誤的原因是 5.7版本下的mysql數據庫下已經沒有password這個字段了,password字段改成了authentication_string

update user set authentication_string=password("新密碼") where user="root"

 

5. 

3.刷新數據庫
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

4.退出mysql:
mysql> quit
Bye

改好之后,再修改一下my.ini這個文件,把我們剛才加入的"skip-grant-tables"這行刪除,保存退出再重啟mysql就可以了。


    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM