centos

centos mysql迁移步骤指南

小樊
48
2025-11-09 19:12:46
栏目: 云计算

CentOS MySQL迁移步骤指南

一、迁移前准备

  1. 确认版本兼容性:确保源服务器与目标服务器的MySQL版本一致或兼容(如5.7→5.7、8.0→8.0),避免因版本差异导致数据迁移失败。
  2. 备份源数据库:使用mysqldump工具备份所有数据库(含结构和数据),防止迁移过程中数据丢失。命令示例:
    mysqldump -u root -p --all-databases > /backup/all_databases_$(date +%F).sql
    
    输入密码后,备份文件将保存在指定路径。
  3. 安装MySQL客户端:目标服务器需安装MySQL客户端(若未安装),用于接收备份文件并恢复数据:
    sudo yum install mysql -y
    

二、物理备份与恢复(快速迁移)

适用于同一版本、需保留原数据库文件(如.frm.ibdibdata1)的场景,速度较快但需停机。

  1. 停止源服务器MySQL服务
    sudo systemctl stop mysqld
    
  2. 复制数据目录:使用rsync将源服务器的MySQL数据目录(默认/var/lib/mysql)同步到目标服务器相同路径:
    rsync -avz /var/lib/mysql/ root@目标服务器IP:/var/lib/mysql/
    
  3. 修改目标目录权限:确保MySQL用户(通常为mysql)对数据目录有读写权限:
    sudo chown -R mysql:mysql /var/lib/mysql/
    
  4. 启动目标服务器MySQL服务
    sudo systemctl start mysqld
    
  5. 验证数据完整性:登录目标服务器,检查数据库是否存在及表记录数是否与源服务器一致:
    mysql -u root -p -e "SHOW DATABASES;"
    mysql -u root -p -e "USE your_database; SELECT COUNT(*) FROM your_table;"
    

三、逻辑备份与恢复(通用迁移)

适用于跨版本、跨平台或需灵活调整数据库结构的场景,步骤较繁琐但灵活性高。

  1. 源服务器备份:使用mysqldump导出所有数据库到SQL文件(同准备阶段)。
  2. 传输备份文件:使用scp将备份文件从源服务器复制到目标服务器:
    scp /backup/all_databases_$(date +%F).sql root@目标服务器IP:/tmp/
    
  3. 目标服务器恢复:登录目标服务器,创建数据库(若需)并导入备份文件:
    mysql -u root -p -e "CREATE DATABASE your_database;"
    mysql -u root -p your_database < /tmp/all_databases_$(date +%F).sql
    

四、主从复制迁移(实时同步)

适用于需要零停机或持续数据同步的场景(如生产环境主库迁移至新从库),通过binlog实现实时数据同步。

1. 主服务器配置

2. 从服务器配置

五、迁移后验证

  1. 数据库一致性检查:对比源服务器与目标服务器的数据库列表、表结构及数据记录数,确保无遗漏或差异。
  2. 应用连接测试:修改应用程序的数据库连接配置(如JDBC URL、用户名、密码),指向目标服务器,测试业务功能是否正常。
  3. 监控性能:观察目标服务器的CPU、内存、磁盘IO及MySQL性能指标(如QPS、TPS),确保迁移后性能符合预期。

0
看了该问题的人还看了