Google CloudSQL 实例存储增长失控

Google CloudSQL instance storage is growing out of control

我在使用 Ggoole Cloud SQL(第 2 代)时遇到了问题。 由于某种原因,一段时间后,数据库在几个小时内从 20GB 增加到 64GB。它曾经从 20 上升到 25,然后随着时间的推移添加和删除条目而被清除。

连接到数据库的服务器上没有发生任何事情,我将云 SQL 标志设置为关闭。我还有什么想法可以尝试吗?

这很可能是二进制日志造成的。启用后,MySQL 将记录所有更改,这是复制或时间点恢复所必需的。这意味着二进制日志的增长大致与修改行的数量成正比(即使这些行实际上被删除并且数据库总大小减少)。

请注意,它们不会无限增长。早于最旧自动备份(7 天)的二进制日志将被自动清除。

另请注意,存储大小可以增加(我相信您启用了自动增加存储)但不能减少,如记录here. This means that when binary logs are purged, free disk space will increase but the total storage size will remain identical. If you want to reduce your disk size after binlogs are purged, you can follow the suggested method here

这里有一些关于这个问题的 Google 云文档: https://cloud.google.com/sql/docs/mysql/replication#bin-log-impact

而且,这里有一些有趣的 mysql 查看和清除它们的命令:

mysql> SHOW BINARY LOGS;
+------------------+-----------+
| Log_name         | File_size |
+------------------+-----------+
| mysql-bin.000001 | 106930110 |
| mysql-bin.000002 | 102842758 |
| mysql-bin.000003 | 109947365 |
....

https://dev.mysql.com/doc/refman/5.7/en/show-binary-logs.html

mysql> PURGE BINARY LOGS BEFORE '2020-10-28 00:00:00';

https://dev.mysql.com/doc/refman/5.7/en/purge-binary-logs.html