首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 重裝時要求舊密碼的解決方案

     編輯:MySQL 資料庫相關知識

前言

重裝 MySQL 時,安裝精靈經常要求輸入舊的 root 密碼,否則會報錯 Error 1045。這通常是因為系統殘留了舊的資料目錄。以下提供兩種實測有效的解決方法。

方法一:刪除殘留資料目錄(最快、最乾淨)

MySQL 的設定檔與資料檔預設存放在 C:\Documents and Settings\All Users\Application Data\MySQL(Windows XP/2003)或 C:\ProgramData\MySQL(Vista/7/10/Server 2008+)。只要刪除該目錄下的 MySQL 資料夾,再重新執行安裝程式,就不會再提示舊密碼。

  1. 開啟檔案總管,輸入 %ProgramData% 或 %ALLUSERSPROFILE%\Application Data 進入目錄。
  2. 找到 MySQL 資料夾,整個刪除(或改名備份)。
  3. 重新執行 MySQL 安裝程式,即可正常完成設定。

注意:此法會清除所有現有資料庫,請先備份重要資料。

方法二:跳過權限表重設密碼(保留現有資料)

若不想刪除資料,可透過 --skip-grant-tables 啟動服務,直接在資料庫內更新密碼。以下以 Windows 為例,Linux 只需將 mysqld-nt 換成 mysqld_safe。

步驟

  1. 停止 MySQL 服務:
    net stop MySQL5
  2. 開啟命令提示字元,切換到 bin 目錄,啟動跳過權限的服務:
    mysqld-nt --skip-grant-tables &
  3. 另開一個命令提示字元,免密碼登入:
    mysql -u root mysql
  4. 更新 root 密碼(範例設為 123456):
    UPDATE user SET password=PASSWORD('123456') WHERE user='root';
    FLUSH PRIVILEGES;
  5. 在工作管理員結束 mysqld-nt.exe 進程(必須執行,否則正常啟動會異常)。
  6. 啟動 MySQL 服務:
    net start MySQL5

總結

方法一適合乾淨重裝、不需保留舊資料;方法二適合必須保留現有資料庫的情境。兩種皆經實測有效,可根據需求選擇。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved