迁移 MySQL 应用数据库是系统升级、服务器更换或架构调整中的常见操作。关键在于保证数据完整性、减少停机时间,并确保应用能无缝对接新环境。以下是几种常用且可靠的迁移方法。
1. 使用 mysqldump 导出导入
这是最简单且广泛使用的方法,适合中小型数据库。
步骤如下:
在源数据库执行导出命令: mysqldump -u 用户名 -p --databases 数据库名 > backup.sql 将生成的 backup.sql 文件传输到目标服务器 在目标 MySQL 服务器上导入数据: mysql -u 用户名 -p若数据库较大,可添加 --single-transaction 参数避免锁表,适用于 InnoDB 引擎。
2. 直接复制数据文件(物理迁移)
适用于 MyISAM 或 InnoDB 表空间独立的场景,速度快但要求版本兼容。
停止源 MySQL 服务 复制 data 目录下的对应数据库文件夹(如 /var/lib/mysql/your_db) 将文件粘贴到目标服务器的 data 目录 设置正确权限:chown -R mysql:mysql /var/lib/mysql/your_db 启动目标 MySQL 服务注意:不同操作系统或 MySQL 版本间直接复制可能引发兼容问题,需谨慎操作。
3. 利用主从复制实现平滑迁移
适合需要零停机的应用场景,通过复制机制逐步同步数据。
配置源数据库为 master,开启 binlog 在目标数据库配置为 slave,连接到 master 等待数据完全同步后,停止写入源库 切换应用连接字符串指向新数据库 提升 slave 为独立主库(STOP SLAVE; RESET SLAVE ALL;)此方法可在迁移期间保持业务运行,降低风险。
4. 使用第三方工具辅助迁移
对于复杂环境,可借助专业工具提高效率和可靠性。
MySQL Workbench:提供图形化迁移向导,支持跨平台 Percona XtraBackup:热备份工具,支持增量备份与快速恢复 Navicat:支持数据库结构与数据同步,操作直观这些工具通常支持压缩传输、断点续传等功能,适合大容量数据迁移。
基本上就这些。选择哪种方式取决于数据库大小、停机容忍度和环境一致性。无论哪种方法,迁移前务必做好完整备份,并在测试环境验证应用兼容性。
