標籤:

忘記mysql 的密碼(重置mysql 密碼)

問題重現(以下討論範圍僅限Windows環境):

C:AppServMySQL> mysql -u root -p

Enter password:

ERROR 1045 (28000): Access denied for user root@localhost (using password: YES)

編輯mysql配置文件my.ini(不知道在哪請搜索),在[mysqld]這個條目下加入

skip-grant-tables

保存退出後重啟mysql

1.點擊「開始」->「運行」(快捷鍵Win+R)。

  2.啟動:輸入 net stop mysql

  3.停止:輸入 net start mysql

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

1.進入mysql資料庫:

mysql> use mysql;

Database changed

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

3.刷新資料庫

mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)

4.退出mysql:

mysql> quit Bye

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

以上技術由重慶思庄提供


推薦閱讀:

如何看待MySQL發布的Group Replication?
簡單說明下MySQL的內存使用
MySQL訓練——SUM and COUNT@sqlzoo.net
MySQL學習筆記(二)索引與視圖
在SQL中,如何查詢某一欄位中最大值的數據?

TAG:MySQL |