MySQL 数据库迁移方法汇总

MySQL 数据库迁移方法汇总

本文档汇总了常见的 MySQL 数据库从一个主机迁移到另一个主机的方案和工具,适用于不同规模和需求的迁移场景。


1. mysqldump

特点

  • 最通用、最常用的逻辑备份工具
  • 适合小到中型数据库的全量迁移

导出数据库

bash 复制代码
mysqldump -h source_host -u user -p --databases dbname > dbname.sql

导出所有数据库

bash 复制代码
mysqldump -h source_host -u user -p --all-databases > all.sql

导入到目标主机

bash 复制代码
mysql -h target_host -u user -p < dbname.sql

2. mysqlpump

特点

  • 多线程导出,速度快于 mysqldump
  • 适合中大型数据库导出

导出数据库

bash 复制代码
mysqlpump -h source_host -u user -p --databases dbname > dbname.sql

3. mydumper / myloader

特点

  • 社区推荐的高性能导出导入工具
  • 支持多线程并发,适合大规模数据迁移

导出数据

bash 复制代码
mydumper -h source_host -u user -p password -B dbname -o /tmp/dbdump

导入数据

bash 复制代码
myloader -h target_host -u user -p password -B dbname -d /tmp/dbdump

4. 主从复制(Replication)

特点

  • 适合要求零停机的迁移场景
  • 通过配置目标服务器为从库,实现持续同步
  • 完成同步后切换流量到新主机

5. 逻辑备份 + 远程导入

直接管道传输

bash 复制代码
mysqldump -h source_host -u user -p dbname | mysql -h target_host -u user -p dbname

注意事项

项目 注意点
权限 源库和目标库均需相应权限
网络 确保两台机器网络互通,MySQL端口(3306)开放
表结构冲突 目标库存在同名表时建议加 --add-drop-table
事务支持 使用 --single-transaction 以减少锁表
GTID与二进制日志 迁移时注意 --set-gtid-purged 参数的配置

总结

工具/方案 适用场景 备注
mysqldump 小中型数据库 简单易用
mysqlpump 中大型数据库 多线程加速
mydumper/myloader 大型数据库 高性能并行导入导出
主从复制 零停机或持续同步 复杂配置,但可实现热迁移

相关推荐
名字还没想好☜41 分钟前
Next.js 用 Server Components 直连数据库:去掉 API 层的边界,和三条别踩的安全红线
前端·javascript·数据库·安全·react·next.js
迷迭香yy1 小时前
行业板块轮动因子实战从板块资金到因子建模的本地化Python全流程
数据库·人工智能·python
SelectDB2 小时前
抖音集团 实时数据仓库:Apache Doris / SelectDB 的技术能力与实践
数据库
SelectDB2 小时前
网易 日志与时序数据分析:Apache Doris / SelectDB 的技术能力与实践
数据库
weixin_539446782 小时前
Navicat Premium 17报缺少ODBC驱动
数据库
这个DBA有点耶2 小时前
迁移中的数据一致性挑战:如何确保百万行数据“搬得对”
mysql·架构·dba
哦虎!3 小时前
【数据库】事务
java·数据库·mysql
倔强的石头_3 小时前
时序数据库的难题不只在写入速度
数据库
IT古董5 小时前
【WMS学习笔记系列】01-需求分析
大数据·数据库
zlinear数据采集卡5 小时前
数据采集卡从入门到精通(9):分辨率与精度——16位卡不等于1/65536的精度
开发语言·数据库·fpga开发·开源·c#