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

CentOS 修改 MySQL 資料目錄完整步驟

     編輯:MySQL 資料庫相關知識

CentOS 下遷移 MySQL datadir 至自定義路徑

預設 /var/lib/mysql 磁碟空間不足時,需遷移至大分區(如 /home/data/mysql)。

操作步驟

  1. 停止服務
    mysqladmin -u root -p shutdown
    
  2. 移動資料目錄
    mkdir -p /home/data
    mv /var/lib/mysql /home/data/
    
  3. 備份並修改配置文件 /etc/my.cnf
    cp /etc/my.cnf /etc/my.cnf.bak
    # 若無 my.cnf,從範例複製
    cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
    
    編輯 [mysqld] 區段:
    [mysqld]
    port = 3306
    # socket = /var/lib/mysql/mysql.sock  # 註釋舊行
    socket = /home/data/mysql/mysql.sock
    datadir = /home/data/mysql
    
  4. 修改啟動腳本 /etc/rc.d/init.d/mysql
    # 找到 datadir=/var/lib/mysql
    # 改為
    datadir=/home/data/mysql
    
  5. 啟動驗證
    /etc/rc.d/init.d/mysql start
    # 或 reboot 重啟系統
    

常見坑點

  • SELinux 阻擋:setsebool -P mysql_connect_any 1 或調整標籤 chcon -R -t mysqld_db_t /home/data/mysql
  • 權限問題:確保 mysql:mysql 擁有新目錄
  • socket 路徑不一致導致客戶端連不上:客戶端配置 [client] socket = /home/data/mysql/mysql.sock

驗證指令

mysql -u root -p -e "SHOW VARIABLES LIKE 'datadir';"
mysql -u root -p -e "SHOW VARIABLES LIKE 'socket';"
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved