centos

CentOS环境下如何进行数据迁移

小樊
47
2025-09-08 00:13:53
栏目: 智能运维

CentOS环境下数据迁移可根据场景选择不同方法,以下是常见方式及操作要点:

一、系统/文件迁移

  1. rsync工具迁移

    • 适用场景:文件、目录或系统数据迁移。
    • 操作步骤
      # 安装rsync  
      sudo yum install rsync  
      # 迁移数据(保留权限、属性)  
      sudo rsync -avz --progress /源路径/ /目标路径/  
      # 迁移用户权限  
      sudo rsync -avz /etc/passwd /etc/shadow /etc/group /目标路径/etc/  
      
    • 优势:支持增量同步,断点续传。
  2. dd命令迁移(分区级)

    • 适用场景:整分区数据迁移(如磁盘克隆)。
    • 操作步骤
      # 创建目标分区后,执行复制(bs调整块大小,如4M)  
      sudo dd if=/dev/source_partition of=/dev/target_partition bs=4M conv=noerror,sync  
      
    • 注意:需确保目标分区大小≥源分区,会覆盖目标数据。

二、数据库迁移

  1. mysqldump工具(逻辑备份)

    • 适用场景:MySQL/PostgreSQL等数据库迁移。
    • 操作步骤
      # 备份源数据库  
      mysqldump -u 用户名 -p 数据库名 > backup.sql  
      # 传输备份文件到目标服务器  
      scp backup.sql user@目标服务器:/路径  
      # 恢复数据  
      mysql -u 用户名 -p 数据库名 < backup.sql  
      
    • 优势:跨平台兼容,可压缩备份。
  2. 物理备份恢复

    • 适用场景:快速迁移MySQL数据目录(需停机)。
    • 操作步骤
      # 停止MySQL服务  
      sudo systemctl stop mysqld  
      # 复制数据目录(如/var/lib/mysql)  
      sudo rsync -avz /var/lib/mysql/ /新路径/  
      # 修改权限并重启服务  
      sudo chown -R mysql:mysql /新路径  
      sudo systemctl start mysqld  
      

三、系统级迁移(跨服务器)

  1. Clonezilla磁盘克隆

    • 适用场景:整系统迁移(需相同硬件配置)。
    • 操作步骤
      1. 制作Clonezilla启动U盘,从U盘启动目标服务器。
      2. 选择“设备-镜像”模式,指定源磁盘和目标磁盘完成克隆。
  2. 配置文件迁移

    • 适用场景:系统配置(如网络、服务)迁移。
    • 迁移文件
      • /etc/sysconfig/network-scripts/(网络配置)
      • /etc/fstab(分区挂载)
      • /etc/hosts(主机名解析)
        使用rsyncscp复制到目标服务器对应路径。

四、注意事项

根据具体需求选择合适方案,迁移前务必备份重要数据并测试目标环境兼容性。

0
看了该问题的人还看了