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 大型数据库 高性能并行导入导出
主从复制 零停机或持续同步 复杂配置,但可实现热迁移

相关推荐
ChinaRainbowSea23 分钟前
7. LangChain4j + 记忆缓存详细说明
java·数据库·redis·后端·缓存·langchain·ai编程
小马学嵌入式~1 小时前
嵌入式 SQLite 数据库开发笔记
linux·c语言·数据库·笔记·sql·学习·sqlite
Java小白程序员2 小时前
MyBatis基础到高级实践:全方位指南(中)
数据库·mybatis
Monly212 小时前
人大金仓:merge sql error, dbType null, druid-1.2.20
数据库·sql
不宕机的小马达2 小时前
【Mysql|第一篇】Mysql的安装与卸载、Navicat工具的使用
数据库·mysql
孔丘闻言2 小时前
python调用mysql
android·python·mysql
float_六七2 小时前
数据库连接池:性能优化的秘密武器
数据库·oracle·性能优化
码界奇点2 小时前
MongoDB vs MySQLNoSQL与SQL数据库的架构差异与选型指南
数据库·sql·mongodb·系统架构
IT 小阿姨(数据库)2 小时前
PgSQL中pg_stat_user_tables 和 pg_stat_user_objects参数详解
linux·运维·数据库·sql·postgresql·oracle
倔强的石头_3 小时前
Windows系统下KingbaseES数据库保姆级安装教程(附常见问题解决)
数据库