溫馨提示×

centos mysql數據遷移方法

小樊
47
2025-07-06 11:24:22
欄目: 云計算

在CentOS上進行MySQL數據遷移可以通過多種方法實現,以下是一些常見的方法:

使用mysqldump工具

  • 備份數據庫:使用mysqldump命令備份源數據庫到一個SQL文件。
    mysqldump -u [用戶名] -p[密碼] [數據庫名] > backup.sql
    
  • 傳輸備份文件:使用scp或其他文件傳輸工具將備份文件傳輸到目標CentOS服務器。
    scp backup.sql user@target_server:/path/to/destination
    
  • 恢復數據庫:在目標服務器上使用mysql命令行工具恢復數據庫。
    mysql -u [用戶名] -p[密碼] [數據庫名] < /path/to/destination/backup.sql
    

使用物理備份和恢復

  • 停止MySQL服務:在源服務器上停止MySQL服務。
    systemctl stop mysqld
    
  • 復制數據目錄:使用rsynccp命令復制MySQL的數據目錄到目標服務器。
    rsync -avz /var/lib/mysql/ user@target_server:/var/lib/mysql/
    
  • 修改權限:確保目標服務器上的MySQL用戶對數據目錄有適當的權限。
    chown -R mysql:mysql /var/lib/mysql/
    
  • 啟動MySQL服務:在目標服務器上啟動MySQL服務。
    systemctl start mysqld
    

使用MySQL復制

  • 配置主服務器:在源服務器上配置MySQL復制,使其成為主服務器。
    [mysqld]
    server-id = 1
    log_bin = /var/log/mysql/mysql-bin.log
    binlog_do_db = [數據庫名]
    
  • 重啟MySQL服務:重啟MySQL服務以應用配置。
    systemctl restart mysqld
    
  • 創建復制用戶:在主服務器上創建一個用于復制的用戶。
    CREATE USER 'replicator'@'%' IDENTIFIED BY 'password';
    GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';
    FLUSH PRIVILEGES;
    
  • 獲取二進制日志位置:獲取當前二進制日志的位置和文件名。
    SHOW MASTER STATUS;
    
  • 配置從服務器:在目標服務器上配置MySQL復制,使其成為從服務器。
    [mysqld]
    server-id = 2
    relay_log = /var/log/mysql/mysql-relay-bin.log
    log_bin = /var/log/mysql/mysql-bin.log
    replicate_do_db = [數據庫名]
    
  • 重啟MySQL服務:重啟MySQL服務以應用配置。
    systemctl restart mysqld
    
  • 設置主服務器信息:在從服務器上設置主服務器的信息。
    CHANGE MASTER TO MASTER_HOST='主服務器IP', MASTER_USER='replicator', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=123;
    START SLAVE;
    
  • 檢查復制狀態:檢查從服務器的復制狀態。
    SHOW SLAVE STATUS\G
    

選擇適合你需求的方法進行遷移。物理備份和恢復通常更快,但需要更多的磁盤空間和網絡帶寬。使用MySQL復制則可以實現實時數據同步,但配置相對復雜。

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