我在 Amazon Web Services 上有一个 RDS MySQL 数据库。
我想减少控制面板中数据库的大小以节省资金。
问:如何让它变小?他们的网站说你必须用某种神奇的方式(从备份或其他方式),但我不想错误地重击它!
请一步一步...谢谢!

这就是发生的事情:亚马逊问我想要的最大尺寸应该是多少。我选择了 10GB。然后我添加数据,直到表超过 10GB。然后亚马逊自动将大小限制增加到 20GB。在他们的手册中,他们说“增加”是自动的,但“减少”不是。
在删除一些多余的数据后,数据大小再次低于 10GB,有没有办法创建一个新的 10GB db 并使用快照将数据复制到它?
编写一个脚本,将创建一个脚本
MYSQL_CONN="-hAmazonRDSDNSName -u... -p..."
SQL="SELECT CONCAT('OPTIMIZE TABLE ',table_schema,'.',table_name,';')"
SQL="${SQL} OptimizeTableSQL FROM information_schema.tables WHERE table_schema = 'signs'"
SQL="${SQL} ORDER BY (data_length+index_length)"
mysql ${MYSQL_CONN} -AN -e"${SQL}" > /root/OptimizeAllTables.sql
less /root/OptimizeAllTables.sql
Run Code Online (Sandbox Code Playgroud)
当您对脚本能够完成的工作感到满意时,请执行以下操作:
mysql ${MYSQL_CONN} < /root/OptimizeAllTables.sql
Run Code Online (Sandbox Code Playgroud)
试一试 !!!
警告
由于innodb_file_per_table的默认设置为 ON,因此每个正在优化的 InnoDB 表实际上都会.ibd收缩其文件。任何 MyISAM 表(我希望您没有)也将缩小其文件.MYD和.MYI文件。
我刚刚尝试了以下操作:
Requested storage size (5) cannot be less then the current storage size (10):)如果我恢复快照,它会创建第三个实例。数据库快照必须是整个服务器实例,而不是任何类型的转储。
你将不得不执行以下混乱的程序:
在步骤 4 中,请在 20GB 和 10GB 实例上运行此大存储引擎空间查询
SELECT IFNULL(B.engine,'Total') "Storage Engine",
CONCAT(LPAD(REPLACE(FORMAT(B.DSize/POWER(1024,pw),3),',',''),17,' '),' ',
SUBSTR(' KMGTP',pw+1,1),'B') "Data Size", CONCAT(LPAD(REPLACE(
FORMAT(B.ISize/POWER(1024,pw),3),',',''),17,' '),' ',
SUBSTR(' KMGTP',pw+1,1),'B') "Index Size", CONCAT(LPAD(REPLACE(
FORMAT(B.TSize/POWER(1024,pw),3),',',''),17,' '),' ',
SUBSTR(' KMGTP',pw+1,1),'B') "Table Size" FROM
(SELECT engine,SUM(data_length) DSize,SUM(index_length) ISize,
SUM(data_length+index_length) TSize FROM
information_schema.tables WHERE table_schema NOT IN
('mysql','information_schema','performance_schema') AND
engine IS NOT NULL GROUP BY engine WITH ROLLUP) B,
(SELECT 3 pw) A ORDER BY TSize;
Run Code Online (Sandbox Code Playgroud)
将 mysqldump 迁移到新的 10GB 实例时,您将看到有多少浪费的空间消失了。这肯定会对所有 InnoDB 表进行碎片整理。您可能需要运行上面/root/OptimizeAllTables.sql我给您的脚本(),以便每周在数据库OPTIMIZE TABLE中的所有表上运行一次,以保持尽可能小。当它开始接近 10GB 时,您还可以运行大存储引擎空间查询来进行监控。signs.ibd
| 归档时间: |
|
| 查看次数: |
9628 次 |
| 最近记录: |