1. 程式人生 > >MySQL重置root使用者密碼的方法

MySQL重置root使用者密碼的方法

    當管理員忘記MySQL密碼怎麼辦?屢次輸入密碼,仍然提示錯誤,網站無法正常執行,資料庫也無法管理,管理員束手無策。

    網站程式或MySQL管理軟體連線MySQL伺服器時密碼錯誤,會出現“1045 - Access denied for user 'root'@'localhost'(using password:YES)”的錯誤提示,如下圖:

    當確認已經忘記MySQL密碼,則可以通過以下方案重置root使用者密碼。雙擊開啟C:\Program Files\MySQL\MySQL Server 5.1\my.ini檔案,如下圖:

    點選“記事本”軟體頂部的“編輯”,再選擇“查詢”,在“查詢內容”處輸入[mysqld],並點選“查詢下一個”,它會自動轉到[mysqld]欄位行。在下面增加一行skip-grant-tables並儲存,如下圖:

    點選左下角“開始”,“管理工具”,“服務”。滑鼠右鍵點選服務列表中的“MySQL”服務,選擇“重新啟動”,如下圖:

    這時的MySQL不需要密碼即可登入資料庫。點選左下角“開始”,“所有程式”,“MySQL”,“MySQL Server 5.1”,“MySQL Command Line Client”開啟MySQL命令列控制檯。視窗內出現“Enter Password:”提示,直接按回車鍵登入到MySQL控制檯。

    輸入use mysql;按回車鍵,出現Database changed提示。

    再輸入update user set password=password('新密碼') WHERE User='root';按回車鍵。例如:你需要設定的密碼是mysql789,那麼你需要輸入的是update user set password=password('mysql789') WHERE User='root';如果擔心輸入錯誤,您可以直接複製這段內容,滑鼠右鍵在點到控制檯空白處,選擇“貼上”,再按回車執行,出現提示“Query OK, 2 rows affected (0.00 sec) Rows matched: 2  Changed: 2  Warnings: 0”。如下圖。

    再輸入flush privileges;按回車,出現“Query OK, 0 rows affected (0.00 sec)”提示。

    去掉my.ini中的[mysqld]欄位下面一行的skip-grant-tables,再次重啟MySQL服務。此時,用新的密碼mysql789連線資料庫,如下圖:

    點選“確定”後,發現已經可以連上MySQL資料庫。如下圖:

    MySQL的root使用者密碼重置由此完成。謝謝觀看。