溫馨提示×

centos mysql數據遷移步驟

小樊
43
2025-09-05 15:47:55
欄目: 云計算

以下是CentOS下MySQL數據遷移的常見方法及步驟:

一、使用mysqldump工具(邏輯遷移)

適用場景:跨服務器遷移、需備份數據

  1. 備份源數據庫

    mysqldump -u [用戶名] -p[密碼] [數據庫名] > backup.sql  
    

    (可選:--all-databases備份所有庫,或--single-transaction保證一致性)

  2. 傳輸備份文件

    scp backup.sql [目標服務器用戶]@[目標IP]:/目標路徑  
    
  3. 恢復數據到目標服務器

    mysql -u [用戶名] -p[密碼] [目標數據庫名] < backup.sql  
    

    (若為壓縮文件,需先解壓:gunzip backup.sql.gz

  4. 驗證數據
    登錄目標數據庫,檢查表結構和數據是否完整。

二、物理復制數據目錄(適用于同服務器或高性能場景)

適用場景:同服務器不同路徑遷移、需快速同步

  1. 停止MySQL服務

    systemctl stop mysqld  
    
  2. 復制數據目錄

    rsync -av /var/lib/mysql/ [目標路徑]/  
    

    (需確保目標目錄權限正確:chown -R mysql:mysql [目標路徑]

  3. 修改配置文件
    編輯/etc/my.cnf,更新datadir指向新路徑,重啟MySQL。

  4. 驗證數據
    檢查新路徑下的數據文件,登錄數據庫確認表和數據正常。

三、主從復制(實時同步)

適用場景:實時數據同步、讀寫分離

  1. 主服務器配置

    • 修改/etc/my.cnf,啟用log-binserver-id(唯一ID)。
    • 創建復制用戶并授權:
      CREATE USER 'repl'@'從服務器IP' IDENTIFIED BY '密碼';  
      GRANT REPLICATION SLAVE ON *.* TO 'repl'@'從服務器IP';  
      
    • 重啟MySQL,記錄SHOW MASTER STATUS中的FilePosition。
  2. 從服務器配置

    • 修改/etc/my.cnf,設置server-id(不同于主服務器)、relay-log。
    • 執行CHANGE MASTER TO指定主服務器信息(IP、端口、賬號、File、Position)。
    • 啟動復制:START SLAVE;,通過SHOW SLAVE STATUS檢查狀態(Slave_IO_RunningSlave_SQL_Running應為Yes)。

注意事項

  • 權限與安全:確保目標服務器的MySQL用戶有足夠權限,物理遷移時注意防火墻開放3306端口。
  • 停機時間:物理遷移需短暫停機,建議在低峰期操作;邏輯遷移(mysqldump)可在線執行但耗時較長。
  • 版本兼容:源和目標服務器的MySQL版本需兼容,建議使用相同大版本。

根據需求選擇合適方法,邏輯遷移適合跨環境,物理遷移適合高性能場景,主從復制適合實時同步需求。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女