了解 gcloud sql 导出 sql 和后续导入的行为



我有一个Google Cloud SQL实例,出于我的目的,我决定创建一种副本。为此,我决定导出实例的数据库,创建第二个数据库,然后将第一个实例的导出备份导入第二个实例。

在开始之前,我检查了使用的存储大小,我看到它大约是 125GB。然后,我使用以下命令导出数据库:

gcloud sql export sql MY_INSTANCE gs://MY_BUCKET/2018-10-17/mysql/MY_DB.mysql.sql.gz --database=MY_DB

正如我所说,当它完成后,我将备份导入到"副本实例"中,然后......令人惊讶!使用的存储大小为 180GB!

这怎么可能?为什么"副本实例"比第一个多使用 55GB?

提前感谢那些会回答的人。

一种可能的解释是"bin_log"大小。导入后,它确实计入磁盘大小。

要查看您的数据本身是否具有相同的大小,我建议运行:

SELECT
ROUND(SUM(data_length + index_length) / 1024 / 1024/ 1024, 1) "DB Size in GB"
FROM
information_schema.tables;

这两种情况下,并比较尺寸以获得更准确的测量。

您还可以通过运行以下命令检查二进制日志的大小:SHOW BINARY LOGS;这两种情况下,也进行总结,看看这是否解释了差异。

相关内容

  • 没有找到相关文章

最新更新