小编jua*_*n80的帖子

恢复后不同的 MySQL 数据文件大小

我在数据库管理方面很新。我现在公司的数据库架构是主从复制。我们使用的是 MySQL 5.0.86 版。

几周前,我们升级了公司的主应用程序。此升级为其数据库的所有表添加了一列。升级前,我们的 ibdata 大小约为 3.1GiB。升级后是~5.2GiB。

今天,我已经用 mysqldump 完成了一个完整的备份恢复测试。恢复后,ibdata 大小约为 3.6 GiB。标准选择在恢复中显示与原始数据库中相同的数据。

我已经通过 select to information_schema 检查了数据大小(CUSTODIA 是我们主应用程序的名称):

select SUM(DATA_LENGTH+INDEX_LENGTH) from TABLES where TABLE_SCHEMA='CUSTODIA';
Run Code Online (Sandbox Code Playgroud)

这是主数据库中的结果:

+-------------------------------+
| SUM(DATA_LENGTH+INDEX_LENGTH) |
+-------------------------------+
|                    5683345068 |
+-------------------------------+
Run Code Online (Sandbox Code Playgroud)

这是恢复数据库的结果:

+-------------------------------+
| SUM(DATA_LENGTH+INDEX_LENGTH) |
+-------------------------------+
|                    3735748608 |
+-------------------------------+
Run Code Online (Sandbox Code Playgroud)

我的问题:

  1. 为什么原始和恢复的数据库大小之间存在这种差异?
  2. 尽管大小不同,但假设恢复的数据库没问题是否安全?
  3. MySQL如何计算data_length?是估价吗?
  4. 我可以在不停机的情况下安全地将生产的 ibdata 文件大小减少到 3.6GiB 吗?

对此的任何想法将不胜感激。谢谢你。

mysql innodb mysqldump backup size

5
推荐指数
1
解决办法
8151
查看次数

标签 统计

backup ×1

innodb ×1

mysql ×1

mysqldump ×1

size ×1