首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么mysqldump会变得这么大?

为什么mysqldump会变得这么大?
EN

Stack Overflow用户
提问于 2016-11-11 18:00:02
回答 1查看 118关注 0票数 0

场景:

主要包含MyISAM表的MySQL数据库。MySQL文件系统的当前权重:

代码语言:javascript
复制
80K ./casin_emails
212K    ./performance_schema
371M    ./casin_info
32K ./percona
572K    ./casin
1.1M    ./mysql
67G .

正如您注意到的,大部分空间来自ibdata文件

代码语言:javascript
复制
17956960  67G -rw-rw---- 1 mysql mysql  67G Nov 11 11:45 ibdata1
17956940 5.0M -rw-rw---- 1 mysql mysql 5.0M Nov 11 11:45 ib_logfile0
17956939 5.0M -rw-rw---- 1 mysql mysql 5.0M Nov 11 10:44 ib_logfile1

在写这个问题的时候,mysqldump仍在运行的进程正在写一个14 GBytes的文件。

所以我的问题可能是显而易见的。如果当前数据库的空间如此之小,为什么mysqldump要创建如此大的文件?ibdata对此有罪吗?

我想我无法避免mysqldump需要在ibadata上生成某种类型的数据备份的事实,但我只是想确定并知道为什么会发生这种情况。

谢谢!

PS:我之前已经搜索过这个问题,但我找到的所有帖子都是关于如何缩小数据库的,这不是我目前的问题。

EN

回答 1

Stack Overflow用户

发布于 2016-11-11 18:14:52

正如mysqldump上的MySQL文档所说(突出显示是我的):

mysqldump客户端实用程序执行逻辑备份,生成一组语句,可以执行这些语句来重现原始数据库对象定义和表数据。

因此,mysqldump不是简单地导出数据,而是将它们写入sql语句。此外,所有数据都导出为文本,因此每个数字数据和空值将占用比数据库中多得多的空间。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40545474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档