大型数据库的 MySQL 转储似乎小于原始 MySQL 数据库本身

标签 mysql database backup mysqldump

我正在备份一个大小约为 190 GB 的数据库。我想将数据库备份到本地文件。这是我正在使用的命令:

mysqldump -u root -p tradeData > /db_backup/tradeData.sql

我的机器上有足够的空间。我尝试了很多次都没有出错,但我总是得到一个大小约为 122GB 的结果文件。

有没有人有备份大型数据库的经验?我的机器是 Linux 机器。

最佳答案

使用类似 the SQL query here 的信息不会为您提供本地数据库转储与系统中实际内容之间的一对一连接。实际的数据库只有当数据库实际上是数据库中的数据库时才存在索引和数据。作为RolandoMySQLDBA解释:

From the dump file size, it is hard to judge because the combined total size of data pages and index pages maybe far less that the size of ibdata1 the dump was created from.

所以我的猜测是,与裸转储相比,您的数据库包括 InnoDB 表以及其他使数据库膨胀的东西。

关于大型数据库的 MySQL 转储似乎小于原始 MySQL 数据库本身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23577137/

相关文章:

mysql - Sql Join 花费大量时间

mysql - ThinkingSphinx::SphinxError(未知的 MySQL 错误)

mysql - 使用整数名称创建/删除 MySQL 数据库

database - 实体类型和实体集的区别?

postgresql - pg_dump 9.0 到 pg_restore 8.3

c# - 禁用数据库中的用户列表

PHP插入到mysql

java - saveorupdate 方法出现重复输入错误

azure - 如何模拟 Azure VM 备份失败

sql-server - SQL Server 还原错误 - 访问被拒绝