首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 5.5 配置文件路徑參數詳解:basedir、datadir、innodb_data_home_dir 避坑指南

     編輯:MySQL 綜合教學

核心目錄參數

參數含義示例注意
basedirMySQL 安裝根目錄(含 bin、share、scripts)C:/Program Files/MySQL/MySQL Server 5.5/以斜槓結尾,Windows 用正斜槓/或雙反斜槓\\
datadir數據目錄(庫目錄、表文件 .frm/.ibd、系統表空間 ibdata1)C:/ProgramData/MySQL/MySQL Server 5.5/Data/**權限必須 mysql 可讀寫**
innodb_data_home_dirInnoDB 系統表空間文件 (ibdata1) 目錄C:/ProgramData/MySQL/MySQL Server 5.5/Data/若為空,默認 = datadir;可單獨放置不同磁盤
innodb_log_group_home_dirRedo Log (ib_logfile*) 目錄C:/ProgramData/MySQL/MySQL Server 5.5/Data/建議放高 IOPS 磁盤
tmpdir臨時文件目錄(排序、臨時表)C:/Windows/Temp/空間不足導致 "Can't create temp file"

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

現象:INSERT/UPDATE/DELETE 報錯,SELECT 正常。

原因:innodb_force_recovery > 0(1-6 級)會**禁止寫操作**,僅允許讀取導出數據。

排查:

SHOW VARIABLES LIKE 'innodb_force_recovery';

若非 0,修正 my.ini 移除或設 0,重啟服務。

配置文件優先級與生效

  1. 命令行參數(最高)
  2. --defaults-file 指定文件
  3. --defaults-extra-file 附加文件
  4. 標準位置:/etc/my.cnf、/etc/mysql/my.cnf、C:\my.ini、basedir\my.ini

驗證生效配置:

mysqld --help --verbose 2>nul | findstr /R "basedir datadir innodb_data_home_dir"

遷移 datadir 實戰步驟

# 1. 停止服務
net stop MySQL55

# 2. 複製數據目錄(保留權限)
robocopy "C:\ProgramData\MySQL\MySQL Server 5.5\Data" "D:\MySQL\Data" /E /COPYALL

# 3. 修改 my.ini
datadir=D:/MySQL/Data
innodb_data_home_dir=D:/MySQL/Data
innodb_log_group_home_dir=D:/MySQL/Logs

# 4. 調整目錄權限(Windows:安全性標籤授予 MYSQL 服務賬號完全控制)

# 5. 啟動驗證
net start MySQL55
mysql -u root -p -e "SHOW VARIABLES LIKE 'datadir';"
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved