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

Windows Server 2008 R2 修改 MySQL 5.5 資料目錄完整操作指南

     編輯:MySQL 資料庫相關知識

生產環境常需將 MySQL 資料目錄遷移至非系統盤(如 D 槽)以分離 I/O、擴充空間。本文以 Windows Server 2008 R2 + MySQL 5.5.25a 為例,詳細記錄停服務、複製資料、修改 my.ini、驗證遷移的完整步驟。

環境資訊

  • OS:Windows Server 2008 R2
  • MySQL:5.5.25a
  • 程式目錄:D:\Program Files\MySQL\MySQL Server 5.5
  • 原資料目錄:C:\ProgramData\MySQL\MySQL Server 5.5\data\
  • 目標目錄:D:\Program Files\MySQL\MySQL Server 5.5\data

操作步驟

1. 停止 MySQL 服務

net stop mysql55

2. 複製資料目錄

  • 備份原程式目錄下的 data 為 data-bak
  • 將 C:\ProgramData\MySQL\MySQL Server 5.5\data 整個複製至 D:\Program Files\MySQL\MySQL Server 5.5\

3. 修改 my.ini 配置檔

檔案位置:C:\ProgramData\MySQL\MySQL Server 5.5\my.ini

# 找到原行並註解
# datadir="C:\ProgramData\MySQL\MySQL Server 5.5\data"
# 新增目標路徑
datadir="D:\Program Files\MySQL\MySQL Server 5.5\data"

同步複製 my.ini 至程式目錄:

copy "C:\ProgramData\MySQL\MySQL Server 5.5\my.ini" "D:\Program Files\MySQL\MySQL Server 5.5\my.ini"

4. 重新啟動並驗證

net start mysql55

進入命令列驗證:

mysql> SHOW VARIABLES LIKE '%datadir%';
+---------------+-----------------------------------------------+
| Variable_name | Value                                         |
+---------------+-----------------------------------------------+
| datadir       | D:\Program Files\MySQL\MySQL Server 5.5\data\ |
+---------------+-----------------------------------------------+

關鍵注意事項

  • 服務名稱:mysql55 為預設服務名,實際請以 services.msc 確認。
  • 權限繼承:複製資料夾後,確認 NETWORK SERVICE 或服務執行帳號對新目錄有完整讀寫權限。
  • 多 my.ini 陷阱:Windows 搜尋順序為 basedir、datadir 父目錄、C:\Windows、C:\。修改後建議在所有可能位置同步更新或刪除多餘副本。
  • InnoDB 檔案:若啟用 innodb_file_per_table,.ibd 隨資料目錄遷移;若使用共享表空間,ibdata1、ib_logfile* 也在 datadir 下,會一併遷移。

資料目錄遷移屬於基礎架構變更,建議維護窗口期執行、完整備份後操作、驗證應用連線正常才視為完成。掌握 datadir 參數與 Windows 多配置檔搜尋機制,可避免遷移後服務啟動卻仍讀舊路徑的常見陷阱。

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