gpt4 book ai didi

mysql - 检查 MySql 空间

转载 作者:IT老高 更新时间:2023-10-29 00:16:16 25 4
gpt4 key购买 nike

有没有查看MySql剩余空间的命令?

最佳答案

@PeterTurner 我在 2010 年 10 月 29 日有一篇关于 MySQL 使用了多少空间的早期帖子

How to monitor MySQL space?

但是,我知道这不是您想要的。您不希望 MySQL 使用了多少磁盘空间。您的问题只是mysql正在写入的空间还剩多少。这不是 MySQL 操作。不过,您可以利用 MySQL 结合本地操作系统快速回答您的问题。配合什么?命令 df

df 显示六列

[root@******** ~]# df -h | head -1
Filesystem Size Used Avail Use% Mounted on

分解成

  • 文件系统
  • 尺寸
  • 二手
  • 可用
  • 使用%
  • 安装在

您需要获取第 4 列 Avail。这个想法有一个问题:如果文件系统名称太长,则将第 2-6 列移动到下一行。这是一个例子:

[root@******** ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/vg1-root 122236876 9196208 106731192 8% /
/dev/mapper/vg2-data01
1726991928 810877540 828388308 50% /data
/dev/sdc1 3844656172 559221048 3090137848 16% /backup
/dev/sda1 101086 17569 78298 19% /boot
tmpfs 98976204 0 98976204 0% /dev/shm
none 16777216 58576 16718640 1% /var/tmpfs
[root@i******** ~]# df -h /var/lib/mysql
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg2-data01
1.7T 774G 791G 50% /data

请注意,数据文件夹的文件系统名称将第 2-6 列移动到下一行。

因此,只需对 df 显示的行数进行计数。如果有两行,则获取 token #4。如果有 3 行,则获取 token #3。这是一个 shell 脚本,它将回显 mysql 的 datadir 安装的可用空间:

MYSQL_USER=root
MYSQL_PASS=rootpassword
MYSQL_CONN="-u${MYSQL_USER} -p${MYSQL_PASS}"
SQLSTMT="SHOW VARIABLES LIKE 'datadir'"
DATADIR=`mysql ${MYSQL_CONN} -ANe"${SQLSTMT}" | awk '{print $2}'`
df -B 1 ${DATADIR} > /tmp/dfmysql.txt
LC=`wc -l < /tmp/dfmysql.txt`
if [ ${LC} -eq 2 ] ; then SPC=`tail -1 /tmp/dfmysql.txt | awk '{print $4}'` ; fi
if [ ${LC} -eq 3 ] ; then SPC=`tail -1 /tmp/dfmysql.txt | awk '{print $3}'` ; fi
echo ${SPC}

注意那一行

df -B 1 ${DATADIR} > /tmp/dfmysql.txt

这将以字节为单位提供 df 报告。你可以改变它:

  • df 以 KB 为单位提供输出
  • df -B 1K 以 KB 为单位提供输出
  • df -B 1M 以 MB 为单位提供输出

唯一的 mysql 交互是从 mysql 中检索 datadir

试试看!!!

关于mysql - 检查 MySql 空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3192137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com