网站搜索

如何在 Linux 中检查 MySQL 数据库大小


在本文中,我将向您展示如何通过 MySQL shell 检查 MySQL/MariaDB 数据库和表的大小。您将学习如何确定磁盘上数据库文件的实际大小以及数据库中存在的数据大小。

另请阅读:Linux 中用于数据库管理的 20 个 MySQL (Mysqladmin) 命令

默认情况下,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 个有用的命令行工具来监控 Linux 中的 MySQL 性能
  2. Linux 的 12 个 MySQL/MariaDB 安全最佳实践

如果您想分享有关此主题的任何疑问或其他想法,请使用下面的反馈表。