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

MySQL 5.5 資料目錄遷移三大法:Workbench GUI、my.ini 手動修改、SQL 查詢驗證

     編輯:MySQL 資料庫相關知識

MySQL 5.5 提供多種方式變更資料目錄(datadir)。本文整理三種主流方法:MySQL Workbench 圖形介面、手動編輯 my.ini、SQL 查詢驗證,並補充常見路徑問題與 innodb_data_home_dir 參數說明。

方法一:MySQL Workbench 圖形介面(適合新手)

  1. 啟動 MySQL Workbench 5.2 CE(開始選單 → MySQL)
  2. 點選 Server Administration → 選擇本地實例 → Continue
  3. 進入 Configuration 標籤 → Options File 區塊
  4. 在 Data Directory 欄位輸入新路徑(如 D:\MySQL\data)
  5. 點擊 Apply → 確認變更 → 重啟服務

優點:視覺化、自動處理配置檔寫入與服務重啟。缺點:需安裝 Workbench、遠端管理不便。

方法二:手動修改 my.ini(標準運維方式)

# 1. 查詢當前 datadir
mysql> SELECT @@datadir;
# 或檢視 my.ini 中的 datadir 參數

# 2. 停止服務
net stop mysql

# 3. 複製/移動資料目錄至新位置
# 例如:xcopy /E /I "C:\ProgramData\MySQL\MySQL Server 5.5\data" "D:\MySQL\data"

# 4. 編輯 my.ini(建議用記事本以管理員身分開啟)
[mysqld]
datadir="D:/MySQL/data"
# 注意:Windows 路徑建議用正斜線 / 或雙反斜線 \\

# 5. 啟動服務
net start mysql

# 6. 驗證
mysql> SELECT @@datadir;

Windows 7/2008+ 編輯 my.ini 權限陷阱

  • 使用 UltraEdit/Notepad++ 等第三方編輯器可能非管理員權限,存檔不生效。
  • 建議:記事本以管理員身分執行 開啟修改,或將檔案複製到桌面修改後再覆蓋回原位。

方法三:SQL 查詢驗證(通用驗證手段)

mysql> SHOW VARIABLES LIKE 'datadir';
mysql> SELECT @@datadir;

進階參數:innodb_data_home_dir

若啟用 InnoDB 共享表空間,ibdata1 位置由 innodb_data_home_dir 控制:

[mysqld]
basedir="C:/Program Files/MySQL/MySQL Server 5.5/"
datadir="D:/MySQL/data"
innodb_data_home_dir="D:/MySQL/innodb_data"  # ibdata1 放這裡
innodb_data_file_path=ibdata1:10M:autoextend

注意:datadir 決定 .frm/.ibd 位置,innodb_data_home_dir 決定共享表空間位置,兩者可分離。

常見錯誤:Error 1030 (Got error -1 from storage engine)

檢查 my.ini 是否有 innodb_force_recovery > 0,此參數會禁止寫入操作。移除或設為 0 後重啟。

遷移方法選擇建議

場景推薦方法理由
開發/測試機、本地圖形環境Workbench GUI直觀、自動化程度高
生產伺服器、無圖形介面、自動化腳本手動修改 my.ini標準化、可版控、可腳本化
遷移後驗證SQL 查詢跨平台通用、結果明確

無論採用何種方法,核心邏輯皆為:「停服務 → 移動資料 → 改配置 → 啟服務 → 驗證」。建議將手動修改 my.ini 納入標準運維 SOP,並配合版本控管記錄配置變更歷程。

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