以下是Debian系统上MySQL的常见迁移方案:
-
逻辑备份与恢复(推荐中小型数据库)
- 工具:
mysqldump/mysqlpump(并行版本,适合大库)。 - 步骤:
① 源服务器备份数据库:mysqldump -u 用户名 -p 数据库名 > backup.sql;
② 传输备份文件到目标服务器(如scp);
③ 目标服务器导入数据:mysql -u 用户名 -p 数据库名 < backup>。
- 工具:
-
物理备份与恢复(适合大规模数据库)
- 工具:
xtrabackup(支持热备份,减少停机时间)。 - 步骤:
① 源服务器安装xtrabackup并备份数据:xtrabackup --backup --user=用户名 --password=密码 --target-dir=/备份路径;
② 传输备份文件到目标服务器;
③ 目标服务器预处理并恢复数据:xtrabackup --prepare --target-dir=/备份路径,再xtrabackup --copy-back --target-dir=/备份路径 --datadir=/var/lib/mysql。
- 工具:
-
主从复制迁移(适合高可用场景)
- 原理:通过配置主服务器(Master)和从服务器(Slave),实现数据同步后再切换。
- 步骤:
① 主服务器配置二进制日志并创建复制用户;
② 从服务器配置中继日志并指向主服务器;
③ 启动复制并验证数据同步状态(SHOW SLAVE STATUS)。
-
直接物理迁移(需停机)
- 步骤:
① 停止源服务器MySQL服务;
② 通过rsync或tar复制数据目录(/var/lib/mysql)到目标服务器;
③ 调整目标服务器配置文件(如数据目录路径),重启服务。
- 步骤:
注意事项:
- 迁移前务必备份数据,验证目标服务器MySQL版本与源服务器兼容;
- 大数据量建议选择
xtrabackup或分批迁移以减少性能影响; - 迁移后需测试数据一致性及应用程序连接配置。