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

如何在Navicat中对上百G的超大数据库进行高效备份

小婷同学_4650

小婷同学_4650

发布时间:2026-09-26 06:12:18

|

914人浏览过

|

来源于php中文网

原创

Navicat“备份数据库”功能对上百GB数据库基本不可用,因其GUI调用mysqldump时默认缺失关键参数、不设超时、不优化内存与网络配置,且无法暴露底层选项;必须通过调优MySQL服务端参数、绕过GUI使用命令行直跑mysqldump,并结合拆分、压缩、并行及可验证脚本才能可靠完成。

如何在navicat中对上百g的超大数据库进行高效备份

Navicat“备份数据库”功能对上百G库基本不可用

直接右键数据库 → Backup Database → 点开始,面对上百GB数据,大概率卡在“正在连接”或“正在执行”状态数小时后失败。这不是操作错误,而是 Navicat 的 GUI 备份流程本质调用 mysqldump,但默认不传关键参数、不设超时、不关校验、不合并 INSERT,且整个过程被封装在 Java 进程里——内存爆掉、连接中断、“MySQL server has gone away”、“Packet too large” 都是必然结果。

  • Navicat 不暴露 --max-allowed-packet、--net-read-timeout、--net-write-timeout 等底层参数,GUI 里改了也没用
  • 即使勾选“压缩”,也是导出后再压缩,无法减少传输压力
  • GUI 进程在 macOS 上容易触发 java.lang.OutOfMemoryError,Windows 上也可能因堆内存不足崩溃
  • 备份文件若含中文路径或空格(如 D:\我的备份\prod_2026.sql),mysqldump 启动即静默失败,生成 0KB 文件

必须提前调优 MySQL 服务端参数

光换 Navicat 设置没用,瓶颈在 MySQL 服务端。以下参数需写入 my.cnf(Linux/macOS)或 my.ini(Windows),并重启 MySQL 服务:

  • max_allowed_packet=2048M:防止大 BLOB/TEXT 或长 INSERT 被截断;低于 1G 时,mysqldump 可能中途报错退出
  • innodb_buffer_pool_size=32G(建议设为物理内存 50%~75%):让表和索引页尽量驻留内存,避免备份时频繁刷盘拖慢速度
  • innodb_log_file_size=2048M:配合大 buffer pool,减少 checkpoint 次数,保持大批量读取稳定
  • innodb_flush_log_at_trx_commit=2:导入阶段可接受最多 1 秒数据丢失风险,提速显著;备份完记得切回 1
  • skip-log-bin(仅临时):若非必须保留 binlog,关闭它可省下大量 IO 开销;备份完成立即恢复

验证是否生效:SHOW VARIABLES LIKE 'max_allowed_packet'; 和 SHOW VARIABLES LIKE 'innodb_buffer_pool_size';

绕过 Navicat GUI,用命令行直跑 mysqldump

Navicat 自带的 mysqldump 可直接调用,路径通常为:

人工智能数字技术机器人全息大脑大数据分析矢量素材(EPS)
人工智能数字技术机器人全息大脑大数据分析矢量素材(EPS)

这是一款人工智能数字技术机器人全息大脑大数据分析矢量素材,格式为 EPS,含 JPG 预览图。

下载
  • macOS:/Applications/Navicat Premium.app/Contents/Frameworks/mysqldump
  • Windows:C:\Program Files\PremiumSoft\Navicat Premium 17\mysqldump.exe

推荐终端中执行(以 Linux/macOS 为例):

./mysqldump -h127.0.0.1 -P3306 -uadmin -p'yourpass' \
  --single-transaction \
  --routines \
  --events \
  --triggers \
  --hex-blob \
  --skip-comments \
  --max-allowed-packet=2048M \
  --net-read-timeout=3600 \
  --net-write-timeout=3600 \
  --lock-tables=false \
  my_large_db > /backup/my_large_db_20260907.sql

关键点:

  • --single-transaction 替代 --lock-all-tables,避免锁库,适合在线备份
  • --hex-blob 安全导出二进制字段,避免乱码或截断
  • --skip-comments 跳过导出文件里的注释,减小体积、加快后续导入解析
  • 务必用绝对路径输出,且路径不含空格、中文、括号;例如 /backup/ 可,/Users/张三/Navicat Backups/ 不可

上百G场景下必须拆分 + 并行 + 压缩

单个 SQL 文件超过 50GB,后续还原几乎不可控。应主动拆分,且边导出边压缩:

  • 按表拆:mysqldump ... my_large_db table1 table2 > table1_table2.sql,把大表单独导出
  • 按数据拆:对超大表用 WHERE 分批导出(需主键连续),例如:mysqldump ... my_large_db huge_table --where="id BETWEEN 1 AND 1000000"
  • 管道压缩:mysqldump ... | gzip > backup.sql.gz,节省磁盘空间,也降低 IO 压力
  • 并行导出:多个终端同时跑不同表,但注意不要压垮 innodb_buffer_pool;建议并发 ≤ CPU 核数

真正麻烦的不是“怎么备份”,而是“如何确保每一步都可验证、可中断、可重试”。比如导出中途断电,你得能从某个表 resume,而不是全盘重来——这要求你记录每个表的导出时间戳、行数、MD5,并用脚本自动比对源库 TABLE_ROWS。GUI 界面根本做不到这点。

热门AI工具

更多
Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

WorkBuddy

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

DeepSeek

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

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

豆包大模型

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

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

相关专题

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

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

4196

2023.06.21

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

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

1209

2025.12.08

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

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

223

2026.01.05

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

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

446

2026.01.05

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

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

1973

2023.06.20

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

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

1219

2023.06.21

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

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

715

2023.07.18

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

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

2592

2023.07.19

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

80

2026.09.23

热门下载

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

精品课程

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

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