如何在Linux系统查看MySQL数据库容量

IP Address: 54.224.60.122


本文将介绍如何在mysql命令行使用SQL语句来查看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;

如果想查看数据库中每个数据表文件的大小,可以使用如下查询语句进行查询,示例是查看数据库“wordpress”中数据表的大小:

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 = "wordpress"
ORDER BY (data_length + index_length) DESC;

最后,可以使用du命令来查看mysql数据库数据文件的确切大小。mysql数据库默认将数据文件保存在/var/lib/mysql目录,命令示例如下:

# du -h /var/lib/mysql

可以看到,使用SQL语句查询的数据库大小和实际文件的大小是不一定的相同的,SQL语句查询的结果是数据库预占的大小,而文件大小则表示数据库表文件的实际大小,一般会较预占空间小。

发表评论

电子邮件地址不会被公开。 必填项已用*标注