一个Shell小脚本精准统计Mysql每张表的行数实现

前言
对于开发或者运维人员来说,Mysql数据库每张表的数量肯定是要了解下,有助于我们清理无用数据或者了解哪张表比较占用空间。
另外多次统计表的行数,还能发现Mysql表的增量情况,能够预测表未来会有多大的量。
废话不多说,直接带大家写一个简单的Shell小脚本

循环获取数据库名

直接上Shell代码,show databases获取所有的库名。结果有一个我们不想要的,就是Database,这个grep -v掉,轻松获取所有数据库

1
2
3
4
5
6
7
8
9
10
11
[root@it.net.cn ~]# mysql -h 127.0.0.1 -uxxx -pxxx -e “show databases;” 2>/dev/null
±-------------------+
| Database |
±-------------------+
| information_schema |
| mysql |
| performance_schema |
| shijiange |
| test |
| wordpress |
±-------------------+
1
2
3
4
5
6
7
[root@it.net.cn ~]# mysql -h 127.0.0.1 -uxxx -pxxx -e “show databases;” 2>/dev/null |grep -v Database
information_schema
mysql
performance_schema
shijiange
test
wordpress
循环获取所有表
有了库信息,获取所有表就简单了,直接上Shell代码。show tables获取所有表名,其中Tables_in不需要,grep -v掉。

[root@it.net.cn ~]# for onedb in $(mysql -h 127.0.0.1 -uxxx -pxxx -e “show databases;” 2>/dev/null |grep -v Database);do

echo $onedbhttp://groups.tianya.cn/post-191232-f761b4c7ee5641a9b57d24bb68d596b3-1.shtml
mysql -h 127.0.0.1 -uxxx -pxxx $onedb -e “show tables” 2>/dev/null
done
information_schema
±--------------------------------------+
| Tables_in_information_schema |
±--------------------------------------+
| CHARACTER_SETS |
| COLLATIONS |
| COLLATION_CHARACTER_SET_APPLICABILITY |
| COLUMNS |
| COLUMN_PRIVILEGES |
| ENGINES |
| EVENTS |
| FILES |
| GLOBAL_STATUS |
| GLOBAL_VARIABLES |
| KEY_COLUMN_USAGE |
循环统计每张表的行数
取出库名加表名,一个select count(1)统计表的行数,循环统计,直接上Shell代码。

[root@it.net.cn ~]# for onedb in $(mysql -h 127.0.0.1 -uxxx -pxxx -e “show databases;” 2>/dev/null |grep -v Database);do

for onetab in $(mysql -h 127.0.0.1 -uxxx -pxxx KaTeX parse error: Expected group after '_' at position 55: …p -v 'Tables_in_̲');dohttp://gro…(mysql -h 127.0.0.1 -uxxx -pxxx $onedb -e “select count(1) from o n e t a b " 2 > / d e v / n u l l ∣ g r e p − v ′ c o u n t ′ ) e c h o − e " onetab" 2>/dev/null |grep -v 'count') echo -e " onetab"2>/dev/nullgrep

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值