检查多个mysql表和架构的大小

检查多个mysql表和架构的大小,mysql,database,Mysql,Database,数据库服务器上的空间用完了,我需要一种快速的方法来查看所有模式上的所有表,以及每个表的大小。我该怎么做 如果我能找到最胖的模式并从那里开始工作,那也很好。您应该使用SHOW TABLE STATUS: SHOW TABLE STATUS与SHOW TABLES类似,但提供了关于每个非临时表的大量信息 您可以使用显示表格状态命令 在MySQL中。如果转到MySQL提示符并选择一个数据库,则使用 显示表格状态命令,如下所示: show table status like '%'; 您将发现一个名为

数据库服务器上的空间用完了,我需要一种快速的方法来查看所有模式上的所有表,以及每个表的大小。我该怎么做


如果我能找到最胖的模式并从那里开始工作,那也很好。

您应该使用SHOW TABLE STATUS:


SHOW TABLE STATUS与SHOW TABLES类似,但提供了关于每个非临时表的大量信息

您可以使用显示表格状态命令 在MySQL中。如果转到MySQL提示符并选择一个数据库,则使用 显示表格状态命令,如下所示:

show table status like '%';
您将发现一个名为Data_length的列,它告诉您“的长度” 每个表的“数据文件”。如果您只需添加每个表的大小 在数据库中放在一起,应该有整个数据库的大小 数据库

如果在MySQL查询浏览器中运行下面给出的查询,那么将得到两列,第一列显示数据库名称,第二列显示数据库大小(MB)

SELECT table_schema "Data Base Name", sum( data_length + index_length ) / 1024 / 1024 "Data Base Size in MB"
FROM information_schema.TABLES GROUP BY table_schema ; 

简单地
cd路径到数据库数据

对于'find-type d'中的db;do du-shc$db/*;少做

或者使用maxdepth

对于'find-type d-maxdepth 1'中的db;dodu-shc$db/*.{MYI,MYD,frm};少做

如果要排序

对于'find-type d-maxdepth 1'中的db;dols-alS$db/*.{MYI,MYD,frm};少做


我可以一次对所有模式进行排序吗?做得好-现在只需要按大小对其进行排序。Linux不是我的强项。另见-
*.MYI = index size
*.MYD = data size
*.frm = table schema size