3步实现mysql数据迁移


✅ 常见场景分类

场景 示例
本地迁移 从本机 MySQL5.7 升级到 MySQL8.0
跨服务器迁移 从 A 服务器迁移到 B(新服务器)
跨架构迁移 原数据库和目标数据库结构不同
实时同步 需要边迁移边持续运行业务

🧩 方法 1:使用 mysqldump(通用、最稳妥)

🛠️ 导出数据(在源数据库执行)

bash 复制代码
mysqldump -u root -p --databases db1 db2 > backup.sql

✅ 如果只要某个表:mysqldump -u root -p db1 table1 > table1.sql

如果要保留数据、结构、触发器等全部信息:

bash 复制代码
mysqldump -u root -p --routines --triggers --single-transaction --quick --databases db1 > full_backup.sql

🛠️ 导入数据(在目标数据库执行)

bash 复制代码
mysql -u root -p < backup.sql

或者指定数据库导入:

bash 复制代码
mysql -u root -p db1 < backup.sql

🧩 方法 2:使用 scp + mysqldump 跨服务器迁移

步骤:

  1. A服务器执行:

    bash 复制代码
    mysqldump -u root -p db1 > db1.sql
  2. 拷贝到B服务器:

    bash 复制代码
    scp db1.sql user@target_ip:/path
  3. B服务器导入:

    bash 复制代码
    mysql -u root -p db1 < db1.sql

🧩 方法 3:使用 mysqlpump(并行版 mysqldump,效率更高)

bash 复制代码
mysqlpump -u root -p db1 > db1_pump.sql
mysql -u root -p < db1_pump.sql

🧩 方法 4:使用 Percona Xtrabackup(适合大型热备)

适用于大数据量热迁移(如 10GB+),能在不中断服务的情况下进行热备份。

bash 复制代码
# 安装 percona-xtrabackup
# 备份数据
xtrabackup --backup --target-dir=/backup --datadir=/var/lib/mysql

# 恢复数据
xtrabackup --prepare --target-dir=/backup
xtrabackup --copy-back --target-dir=/backup

🧩 方法 5:Navicat 等 GUI 工具迁移

如果你用的是 Navicat、DBeaver、DataGrip 之类客户端工具,支持:

  • 数据库结构克隆
  • 表数据右键 -> 导出或迁移
  • 可视化同步、对比结构差异

适合轻量迁移和部分数据迁移操作。


🧩 方法 6:使用 binlog 实时同步(高级)

适用于不停服迁移数据到新环境、测试数据复制等。


✅ 迁移注意事项

注意项 建议
✅ 迁移前备份 所有原始数据都应备份
✅ 字符集统一 确保目标库字符集一致(如 UTF8MB4)
✅ 主键、索引是否兼容 MySQL 不同版本可能处理方式不同
✅ 迁移后验证数据量一致 select count(*) from xxx 检查是否一致
✅ 开启 foreign_key_checks = 0(可选) 如果导入时报外键错误,可关闭

✅ 示例一键脚本(推荐用)

bash 复制代码
# 备份
mysqldump -u root -pYourPassword --databases your_db > your_db.sql

# 拷贝(如果是远程)
scp your_db.sql root@your_ip:/root/

# 登录远程服务器后导入
mysql -u root -pYourPassword < your_db.sql

相关推荐
brave_zhao17 小时前
达梦8最终锁阻塞巡检 SQL
数据库
一 乐1 天前
婚纱摄影网站|基于ssm + vue婚纱摄影网站系统(源码+数据库+文档)
前端·javascript·数据库·vue.js·spring boot·后端
1.14(java)1 天前
SQL数据库操作:从CRUD到高级查询
数据库
Full Stack Developme1 天前
数据库索引的原理及类型和应用场景
数据库
IDC02_FEIYA1 天前
SQL Server 2025数据库安装图文教程(附SQL Server2025数据库下载安装包)
数据库·windows
辞砚技术录1 天前
MySQL面试题——联合索引
数据库·面试
萧曵 丶1 天前
MySQL 主键不推荐使用 UUID 的深层原因
数据库·mysql·索引
小北方城市网1 天前
分布式锁实战指南:从选型到落地,避开 90% 的坑
java·数据库·redis·分布式·python·缓存
毕设十刻1 天前
基于Vue的人事管理系统67zzz(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
前端·数据库·vue.js
TDengine (老段)1 天前
TDengine Python 连接器入门指南
大数据·数据库·python·物联网·时序数据库·tdengine·涛思数据