时间:2021-07-01 10:21:17 帮助过:14人阅读
因为对元数据(元数据就是那些关于如何数据库的那些数据)的使用已经变得愈来愈普遍了,MySQL5在产品中也相应地设计了一个专门的数据库,这个数据库的固定名称就是information_schema,该数据库作为一个中心数据字典的角色出现,其中包含了数据库的所有对象信息
因为对元数据(元数据就是那些关于如何数据库的那些数据)的使用已经变得愈来愈普遍了,MySQL5在产品中也相应地设计了一个专门的数据库,这个数据库的固定名称就是information_schema,该数据库作为一个中心数据字典的角色出现,其中包含了数据库的所有对象信息和其他与数据库相关的项目(比如安全),这些对象等信息都在MySQL服务器产品中做了定 义。数据库管理人员和相关开发人员可以使用information_schema数据字典数据库来获得MySQL服务器上一个或多个数据 库相关的多方面的元数据。mysql> SELECT a.schema_name db_name, -> IFNULL(ROUND((SUM(b.data_length)+SUM(b.index_length))/1024/1024,2),0.00) -> total_size_mb, -> IFNULL(ROUND(((SUM(b.data_length)+SUM(b.index_length))- -> SUM(b.data_free))/1024/1024,2),0.00) data_used_mb, -> IFNULL(ROUND(SUM(data_free)/1024/1024,2),0.00) data_free_mb, -> IFNULL(ROUND((((SUM(b.data_length)+SUM(b.index_length))-SUM(b.data_free))/ -> ((SUM(b.data_length)+SUM(b.index_length)))*100),2),0) pct_used, -> COUNT(table_name) tables -> FROM information_schema.schemata a -> LEFT JOIN information_schema.tables b ON a.schema_name = b.table_schema -> WHERE a.schema_name != 'information_schema' -> GROUP BY a.schema_name -> ORDER BY 1; +---------+---------------+--------------+--------------+----------+--------+ | db_name | total_size_mb | data_used_mb | data_free_mb | pct_used | tables | +---------+---------------+--------------+--------------+----------+--------+ | gim | 432.67 | 432.67 | 0.00 | 100.00 | 16 | | gim2 | 8.64 | 8.64 | 0.00 | 100.00 | 6 | | mysql | 0.33 | 0.33 | 0.00 | 99.69 | 18 | | test | 0.00 | 0.00 | 0.00 | 0.00 | 0 | | tpcc | 126.09 | 126.09 | 0.00 | 100.00 | 9 | +---------+---------------+--------------+--------------+----------+--------+注意上面的示例中,应该设为不查询字典数据库自身,通过where条件语句来实现。(51CTO.COM教程)