讲师中心 微信公众号
AI工具推荐 视频效率加速

如何使用mydumper进行MySQL亿级大表的高效迁移

阿敏大大_8974

阿敏大大_8974

发布时间:2026-09-10 08:05:01

|

635人浏览过

|

来源于php中文网

原创

亿级大表迁移不能依赖默认参数,必须按物理核心数调线程(-t设为1.2~1.5倍)、用-r分片、关闭时区转换、手动建库建表,否则易卡死或恢复失败。

如何使用mydumper进行mysql亿级大表的高效迁移

直接上结论:亿级大表迁移不能靠默认 -t 4,必须按物理核心数调线程、用 -r 分片、关时区转换、手动建库建表,否则不是慢,而是卡死或恢复失败。

为什么 -t 4 在亿级表上反而更慢

默认 4 线程对 SSD + 16 核以上机器是严重资源浪费。实测 CPU 利用率长期压在 15%~20%,IO 也远未跑满。真正释放并发能力得主动调参:

  • -t 值建议设为物理核心数的 1.2~1.5 倍(例如 12 核机器用 -t 14),超过 24 后上下文切换开销反升
  • 别盲目堆高线程数——若磁盘是 SATA 或网络带宽不足,-t > 16 可能引发 IOPS 争抢和连接超时
  • 搭配 --long-query-guard 300 和 --kill-long-queries,防备份被长事务拖住

-r 行分片怎么设才不卡住大表扫描

不分片时,mydumper 对单表只起一个线程扫到底,亿级表可能跑几小时不动,其他线程干等。用 -r 强制按主键范围切块,让多个线程并行干活:

MySQL
MySQL

编写正确的MySQL查询,避免字符集、索引和锁方面的常见陷阱。

下载
  • 千万级表用 -r 1000000(100 万行/块)较稳
  • 亿级表建议压到 -r 500000,避免单 chunk 扫描太久触发锁等待或超时
  • 若表无主键或主键稀疏,-r 失效,改用 --chunk-filesize 50 按 50MB 切文件(防单文件超 2GB 导致 OOM)
  • 注意:启用 -r 后,--chunk-filesize 会自动禁用,二者互斥

导入前必须手动做的三件事

myloader 不建库、不建表、不关外键——它只认目录结构和 SQL 文件。跳过这步,90% 的报错都源于此:

  • 先执行 mysql -u root -p -e "CREATE DATABASE IF NOT EXISTS target_db"
  • 再用 cat ./export-20260904/metadata | grep "CREATE TABLE" | mysql -u root -p target_db 或直接跑 mydumper --no-data 单独导出 schema
  • 导入前连进目标库执行 SET FOREIGN_KEY_CHECKS=0;,否则遇到外键约束直接卡住或报 Cannot add or update a child row
  • 确认目标库 max_allowed_packet ≥ 256M,否则大 BLOB 字段导入时会截断,报错类似 MySQL server has gone away

容易被忽略的 consistency 和时区坑

亿级备份耗时长,metadata 里记录的 binlog pos 是**开始时刻**,不是结束时刻。若备份跑了 8 分钟,这个位点已滞后,做 PITR 时不准;而时区转换则悄悄污染 datetime 字段:

  • 加 --skip-tz-utc,避免每条 INSERT 都套 CONVERT_TZ(),小表提速 20%,大表可省下几十分钟
  • 别依赖 --no-locks 做“无锁”迁移——MyISAM 表仍会被加读锁,InnoDB 表虽用快照,但跨库视图、存储过程等非事务对象不保证原子性
  • 若源库有跨库引用(如视图查 db2.table_x),必须单独用 mysqldump -d -n -t db2 view_name 导出,mydumper 不处理这类依赖

热门AI工具

更多
切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

相关专题

更多
大数据分析工具有哪四个
大数据分析工具有哪四个

大数据分析的四个工具分别是rapidminer、Hpcc、Hadoop和Pentaho bi。大数据分析用于从各种来源生成的原始数据中提取有价值的数据。这些数据帮助我们获得有意义的见解、隐藏的模式、未知的相关性、市场趋势等等,具体取决于行业。大数据分析的主要动机是提供有价值的见解,以便为未来做出更好的决策。php中文网为大家带来了大数据分析的相关教程、以及相关文章等内容,供大家免费下载使用。

4536

2023.06.21

Java 大数据处理基础(Hadoop 方向)
Java 大数据处理基础(Hadoop 方向)

本专题聚焦 Java 在大数据离线处理场景中的核心应用,系统讲解 Hadoop 生态的基本原理、HDFS 文件系统操作、MapReduce 编程模型、作业优化策略以及常见数据处理流程。通过实际示例(如日志分析、批处理任务),帮助学习者掌握使用 Java 构建高效大数据处理程序的完整方法。

1229

2025.12.08

大数据专业学习教程
大数据专业学习教程

本专题整合了大数据专业学习相关教程,阅读专题下面的文章了解更多详细内容。

223

2026.01.05

python处理大数据合集
python处理大数据合集

本专题整合了python处理大数据相关教程,阅读专题下面的文章了解更多详细内容。

466

2026.01.05

mysql修改数据表名
mysql修改数据表名

MySQL修改数据表:1、首先查看数据库中所有的表,代码为:‘SHOW TABLES;’;2、修改表名,代码为:‘ALTER TABLE 旧表名 RENAME [TO] 新表名;’。php中文网还提供MySQL的相关下载、相关课程等内容,供大家免费下载使用。

2073

2023.06.20

MySQL创建存储过程
MySQL创建存储过程

存储程序可以分为存储过程和函数,MySQL中创建存储过程和函数使用的语句分别为CREATE PROCEDURE和CREATE FUNCTION。使用CALL语句调用存储过程智能用输出变量返回值。函数可以从语句外调用(通过引用函数名),也能返回标量值。存储过程也可以调用其他存储过程。php中文网还提供MySQL创建存储过程的相关下载、相关课程等内容,供大家免费下载使用。

1279

2023.06.21

mongodb和mysql的区别
mongodb和mysql的区别

mongodb和mysql的区别:1、数据模型;2、查询语言;3、扩展性和性能;4、可靠性。本专题为大家提供mongodb和mysql的区别的相关的文章、下载、课程内容,供大家免费下载体验。

735

2023.07.18

mysql密码忘了怎么查看
mysql密码忘了怎么查看

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql密码忘了怎么办呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2772

2023.07.19

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

80

2026.09.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL vs MySQL
PostgreSQL vs MySQL

共1课时 | 178人学习

使用phpenv集成环境安装极致CMS
使用phpenv集成环境安装极致CMS

共2课时 | 283人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn