linux如何查看数据库大小写
- Linux
- 2025-07-28
- 6
Linux 系统中,查看数据库大小的方法取决于所使用的数据库管理系统(DBMS),以下是针对几种常见数据库的详细步骤和命令:
MySQL/MariaDB
使用 mysql 命令行工具
-
登录到 MySQL:
mysql -u your_username -p输入密码后进入 MySQL 提示符。
-
查看数据库大小:
使用以下 SQL 查询来获取每个数据库的大小(包括数据和索引):
SELECT table_schema AS "Database", ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size (MB)" FROM information_schema.tables GROUP BY table_schema;示例输出:
Database Size (MB) information_schema 50 mydb 75 performance_schema 20
使用 du 命令
直接在文件系统级别查看数据库目录的大小:
sudo du -sh /var/lib/mysql/
注意:路径可能因安装方式不同而有所变化,例如某些系统可能是 /usr/local/mysql/data/。

PostgreSQL
使用 psql 命令行工具
-
登录到 PostgreSQL:
输入密码后进入 PostgreSQL 提示符。
-
查看数据库大小:
执行以下 SQL 查询:
示例输出:
datname size postgres 20 MB mydb 350 MB
使用 du 命令
sudo du -sh /var/lib/postgresql/
注意:路径可能因安装方式不同而有所变化,例如某些系统可能是 /usr/local/pgsql/data/。

SQLite
对于 SQLite,数据库通常是一个单一的文件,可以使用 du 或 ls 命令查看文件大小。
du -sh /path/to/your_database.db
或者:
ls -lh /path/to/your_database.db
MongoDB
使用 mongo 命令行工具
-
连接到 MongoDB:
-
查看数据库大小:
在 mongo 提示符下,运行以下命令:
db.adminCommand({ listDatabases: 1, sizeOnDisk: 1 });示例输出:

{ "databases": [ { "name": "admin", "sizeOnDisk": 102400, "empty": false }, { "name": "mydb", "sizeOnDisk": 52428800, "empty": false } ], "ok": 1 }
使用 du 命令
sudo du -sh /var/lib/mongodb/
注意:路径可能因安装方式不同而有所变化,例如某些系统可能是 /usr/local/mongodb/data/。
通用方法:使用 df 命令查看磁盘使用情况
虽然 df 不直接显示单个数据库的大小,但可以查看数据库所在分区的总体使用情况,帮助评估剩余空间。
df -h /var/lib/mysql/
示例输出:
| Filesystem | Size | Used | Avail | Use% | Mounted on |
|---|---|---|---|---|---|
| /dev/sda1 | 100G | 60G | 40G | 60% | |
| tmpfs | 2G | 0 | 2G | 0% | /dev/shm |
| /dev/sda2 | 200G | 150G | 50G | 75% | /mnt/data |
归纳表格
| 数据库类型 | 查看方法 |
|---|---|
| MySQL/MariaDB | mysql + SQL 查询;du 命令 |
| PostgreSQL | psql + SQL 查询;du 命令 |
| SQLite | du 或 ls 命令 |
| MongoDB | mongo + JavaScript 命令;du 命令 |
| 通用 | df 命令 |
相关问答FAQs
Q1:如何定期监控数据库大小?
A1:可以使用 cron 定时任务结合脚本自动记录数据库大小,编写一个脚本使用上述方法获取数据库大小,并将结果写入日志文件,通过 crontab 设置定时执行该脚本,如每天凌晨执行一次。
Q2:如果数据库分布在多个服务器上,如何统一查看大小?
A2:可以使用集中管理工具如 Zabbix、Prometheus 或 Nagios 来监控各个服务器上的数据库大小。