LinuxでMySQLデータベースのサイズを確認する方法


この記事では、MySQLシェルで MySQL/MariaDB のデータベースとテーブルのサイズを確認する方法を紹介します。ディスク上のデータベースファイルの実際のサイズと、データベースに存在するデータのサイズを判断する方法を学習します。

デフォルトでは MySQL/MariaDB はすべてのデータをファイルシステムに格納します。データベースに存在するデータのサイズは、後で見るディスク上のMysqlデータの実際のサイズとは異なる場合があります。

さらに、MySQLは information_schema 仮想データベースを使用してデータベースやその他の設定に関する情報を保存します。表示されているように、データベースとそのテーブルのサイズに関する情報を収集するためにクエリを実行できます。

# mysql -u root -p
MariaDB [(none)]> SELECT table_schema AS "Database Name", 
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size in (MB)" 
FROM information_schema.TABLES 
GROUP BY table_schema; 

rcubemail という名前の単一のMySQLデータベースのサイズ(その中のすべてのテーブルのサイズが表示される)を調べるには、次のmysqlクエリを使用します。

MariaDB [(none)]> SELECT table_name AS "Table Name",
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size in (MB)"
FROM information_schema.TABLES
WHERE table_schema = "rcubemail"
ORDER BY (data_length + index_length) DESC;

最後に、ディスク上のすべてのMySQLデータベースファイル(ファイルシステム)の実際のサイズを調べるには、以下のduコマンドを実行します。

# du -h /var/lib/mysql

MySQL関連の以下の記事も読んでください。

  1. 4 Useful Commandline Tools to Monitor MySQL Performance in Linux
  2. 12 MySQL/MariaDB Security Best Practices for Linux

このトピックに関して共有したい質問や追加のアイデアについては、以下のフィードバックフォームを使用してください。