MySQLデータベースのサイズを取得する方法?
ターゲットデータベースが "v3"と呼ばれるとします。
このクエリを実行すると、おそらくあなたが探しているものが手に入るでしょう:
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フォーラム から来ています - そこで、より包括的な指示が利用可能です。
以下の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
あるいは、データディレクトリに直接ジャンプして、v3.myd、v3の合計サイズを確認することもできます。 myiとv3。 frmファイル(myisam用)またはv3.idb&v3.frm(innodb用)。
結果を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";
mysqldiskusage --server=root:MyPassword@localhost pics
+----------+----------------+
| db_name | total |
+----------+----------------+
| pics | 1,179,131,029 |
+----------+----------------+
インストールされていない場合、これはmysql-utils
パッケージをインストールすることによってインストールすることができます。これはほとんどの主要なディストリビューションによってパッケージされるべきです。
Mysqlのデータディレクトリに移動し、du -h --max-depth = 1 |を実行します。 grep databasename