当前位置:首页 > Linux > 正文

linux如何查看数据库大小写

du -sh /var/lib/mysql命令可查看MySQL数据库大小,注意路径

Linux 系统中,查看数据库大小的方法取决于所使用的数据库管理系统(DBMS),以下是针对几种常见数据库的详细步骤和命令:

MySQL/MariaDB

使用 mysql 命令行工具

  1. 登录到 MySQL

    mysql -u your_username -p

    输入密码后进入 MySQL 提示符。

  2. 查看数据库大小

    使用以下 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/。

linux如何查看数据库大小写 第1张

PostgreSQL

使用 psql 命令行工具

  1. 登录到 PostgreSQL

    输入密码后进入 PostgreSQL 提示符。

  2. 查看数据库大小

    执行以下 SQL 查询:

    示例输出

    datname size
    postgres 20 MB
    mydb 350 MB

使用 du 命令

sudo du -sh /var/lib/postgresql/

注意:路径可能因安装方式不同而有所变化,例如某些系统可能是 /usr/local/pgsql/data/。

linux如何查看数据库大小写 第2张

SQLite

对于 SQLite,数据库通常是一个单一的文件,可以使用 du 或 ls 命令查看文件大小。

du -sh /path/to/your_database.db

或者:

ls -lh /path/to/your_database.db

MongoDB

使用 mongo 命令行工具

  1. 连接到 MongoDB

  2. 查看数据库大小

    在 mongo 提示符下,运行以下命令:

    db.adminCommand({ listDatabases: 1, sizeOnDisk: 1 });

    示例输出

    linux如何查看数据库大小写 第3张

    { "databases": [ { "name": "admin", "sizeOnDisk": 102400, "empty": false }, { "name": "mydb", "sizeOnDisk": 52428800, "empty": false } ], "ok": 1 }

  3. 使用 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:可以使用集中管理工具如 ZabbixPrometheusNagios 来监控各个服务器上的数据库大小。

0