如何获取mysql数据库的大小? 假设目标数据库名为“v3”。


当前回答

或者,如果使用phpMyAdmin,可以在数据库结构选项卡的页脚中查看表大小的总和。实际的数据库大小可能略大于这个大小,但它似乎与上面提到的table_schema方法一致。

的截图:

其他回答

进入“mysql data”目录,执行命令du -h——max-depth=1 | grep databasename

可以使用下面的MySQL命令来确定

SELECT table_schema AS "Database", SUM(data_length + index_length) / 1024 / 1024 AS "Size (MB)" FROM information_schema.TABLES GROUP BY table_schema

结果

Database    Size (MB)
db1         11.75678253
db2         9.53125000
test        50.78547382

以GB为单位获取结果

SELECT table_schema AS "Database", SUM(data_length + index_length) / 1024 / 1024 / 1024 AS "Size (GB)" FROM information_schema.TABLES GROUP BY table_schema

或者,如果使用phpMyAdmin,可以在数据库结构选项卡的页脚中查看表大小的总和。实际的数据库大小可能略大于这个大小,但它似乎与上面提到的table_schema方法一致。

的截图:

要获得以MB为单位的结果:

SELECT
SUM(ROUND(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024), 2)) AS "SIZE IN MB"
FROM INFORMATION_SCHEMA.TABLES
WHERE
TABLE_SCHEMA = "SCHEMA-NAME";

要获得GB的结果:

SELECT
SUM(ROUND(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024 / 1024), 2)) AS "SIZE IN GB"
FROM INFORMATION_SCHEMA.TABLES
WHERE
TABLE_SCHEMA = "SCHEMA-NAME";

运行这个查询,你可能会得到你想要的:

SELECT table_schema "DB Name",
        ROUND(SUM(data_length + index_length) / 1024 / 1024, 1) "DB Size in MB" 
FROM information_schema.tables 
GROUP BY table_schema; 

这个查询来自mysql论坛,那里有更全面的说明可用。