欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一個(gè)Shell小腳本精準(zhǔn)統(tǒng)計(jì)Mysql每張表的行數(shù)實(shí)現(xiàn)

 更新時(shí)間:2019年10月27日 10:21:03   作者:實(shí)踐哥  
這篇文章主要介紹了一個(gè)Shell小腳本精準(zhǔn)統(tǒng)計(jì)Mysql每張表的行數(shù)實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

前言

對(duì)于開發(fā)或者運(yùn)維人員來(lái)說,Mysql數(shù)據(jù)庫(kù)每張表的數(shù)量肯定是要了解下,有助于我們清理無(wú)用數(shù)據(jù)或者了解哪張表比較占用空間。

另外多次統(tǒng)計(jì)表的行數(shù),還能發(fā)現(xiàn)Mysql表的增量情況,能夠預(yù)測(cè)表未來(lái)會(huì)有多大的量。

廢話不多說,直接帶大家寫一個(gè)簡(jiǎn)單的Shell小腳本

循環(huán)獲取數(shù)據(jù)庫(kù)名

直接上Shell代碼,show databases獲取所有的庫(kù)名。結(jié)果有一個(gè)我們不想要的,就是Database,這個(gè)grep -v掉,輕松獲取所有數(shù)據(jù)庫(kù)

[root@shijiangeit ~]# mysql -h 127.0.0.1 -uxxx -pxxx -e "show databases;" 2>/dev/null
+--------------------+
| Database      |
+--------------------+
| information_schema |
| mysql       |
| performance_schema |
| shijiange     |
| test        |
| wordpress     |
+--------------------+
[root@shijiangeit ~]# 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

循環(huán)獲取所有表

有了庫(kù)信息,獲取所有表就簡(jiǎn)單了,直接上Shell代碼。show tables獲取所有表名,其中Tables_in不需要,grep -v掉。

[root@shijiangeit ~]# for onedb in $(mysql -h 127.0.0.1 -uxxx -pxxx -e "show databases;" 2>/dev/null |grep -v Database);do
>  echo $onedb
>  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           |

循環(huán)統(tǒng)計(jì)每張表的行數(shù)

取出庫(kù)名加表名,一個(gè)select count(1)統(tǒng)計(jì)表的行數(shù),循環(huán)統(tǒng)計(jì),直接上Shell代碼。

[root@shijiangeit ~]# 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 $onedb -e "show tables" 2>/dev/null |grep -v 'Tables_in_');do
>   onetablength=$(mysql -h 127.0.0.1 -uxxx -pxxx $onedb -e "select count(1) from $onetab" 2>/dev/null |grep -v 'count')
>   echo -e "$onedb.$onetab\t$onetablength"
>  done
> done
information_schema.CHARACTER_SETS  40
information_schema.COLLATIONS  219
information_schema.COLLATION_CHARACTER_SET_APPLICABILITY  219
information_schema.COLUMNS 1789
information_schema.COLUMN_PRIVILEGES  0
shijiange.logincount  4
shijiange.member  0
shijiange.user 2097153
test.detect_servers 0
wordpress.wp_commentmeta  0
wordpress.wp_comments  0
wordpress.wp_links 0
wordpress.wp_options  156

變量化,腳本直接用

需要統(tǒng)計(jì)哪個(gè)Mysql,前面三個(gè)變量一改,立馬就能統(tǒng)計(jì)所有表的大小了。

mysqlhost=127.0.0.1
mysqluser=xxx
mysqlpassword=xxx

for onedb in $(mysql -h $mysqlhost -u$mysqluser -p$mysqlpassword -e "show databases;" 2>/dev/null |grep -v Database);do
 for onetab in $(mysql -h $mysqlhost -u$mysqluser -p$mysqlpassword $onedb -e "show tables" 2>/dev/null |grep -v 'Tables_in_');do
  onetablength=$(mysql -h $mysqlhost -u$mysqluser -p$mysqlpassword $onedb -e "select count(1) from $onetab" 2>/dev/null |grep -v 'count')
  echo -e "$onedb.$onetab\t$onetablength"
 done
done

想看哪張表的行數(shù)最多?

之前的腳本加個(gè) |sort -nrk 2|less 搞定,超實(shí)用的小腳本就這樣完成了

[root@shijiangeit ~]# for onedb in $(mysql -h $mysqlhost -u$mysqluser -p$mysqlpassword -e "show databases;" 2>/dev/null |grep -v Database);do
>  for onetab in $(mysql -h $mysqlhost -u$mysqluser -p$mysqlpassword $onedb -e "show tables" 2>/dev/null |grep -v 'Tables_in_');do
>   onetablength=$(mysql -h $mysqlhost -u$mysqluser -p$mysqlpassword $onedb -e "select count(1) from $onetab" 2>/dev/null |grep -v 'count')
>   echo -e "$onedb.$onetab\t$onetablength"
>  done
> done | sort -nrk 2
shijiange.user 2097153
information_schema.INNODB_BUFFER_PAGE  8191
performance_schema.events_waits_summary_by_thread_by_event_name 5320
information_schema.INNODB_BUFFER_PAGE_LRU  3453

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • shell 通過makefile傳參給c語(yǔ)言的實(shí)現(xiàn)示例

    shell 通過makefile傳參給c語(yǔ)言的實(shí)現(xiàn)示例

    本文主要介紹了shell 通過makefile傳參給c語(yǔ)言的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • shell腳本自動(dòng)檢測(cè)網(wǎng)絡(luò)掉線和自動(dòng)重連

    shell腳本自動(dòng)檢測(cè)網(wǎng)絡(luò)掉線和自動(dòng)重連

    這篇文章主要介紹了shell腳本自動(dòng)檢測(cè)網(wǎng)絡(luò)掉線和自動(dòng)重連,這篇文章介紹的是自動(dòng)檢測(cè)連接網(wǎng)絡(luò)的解決方法,需要的朋友可以參考下
    2019-12-12
  • SHELL腳本read命令的具體用法

    SHELL腳本read命令的具體用法

    這篇文章主要介紹了SHELL腳本read命令的具體用法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • 用shell腳本在mysql表中批量插入數(shù)據(jù)的方法

    用shell腳本在mysql表中批量插入數(shù)據(jù)的方法

    這篇文章主要介紹了用shell腳本在mysql表中批量插入數(shù)據(jù)的方法,需要的朋友可以參考下
    2014-03-03
  • linux命令詳解之useradd命令使用方法

    linux命令詳解之useradd命令使用方法

    這篇文章主要介紹了useradd命令使用方法,還包括用戶賬號(hào)的添加、刪除與修改、用戶口令的管理、用戶組的管理方法,大家參考使用吧
    2014-01-01
  • 淺談shell的一些循環(huán)格式

    淺談shell的一些循環(huán)格式

    這篇文章主要介紹了淺談shell的一些循環(huán)格式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • shell實(shí)現(xiàn)學(xué)生成績(jī)管理系統(tǒng)

    shell實(shí)現(xiàn)學(xué)生成績(jī)管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了shell實(shí)現(xiàn)學(xué)生成績(jī)管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • shell 腳本中常用的內(nèi)置變量(Bash 內(nèi)置變量)

    shell 腳本中常用的內(nèi)置變量(Bash 內(nèi)置變量)

    在 Bash 解釋器中,內(nèi)置了許多變量,這些變量的功能是解釋器自帶的,我們?cè)诰帉憇hell腳本時(shí)如果能靈活的使用它們,對(duì)腳本的編寫效率以及差錯(cuò)大有幫助, 下面一一介紹這些變量,一起看看吧
    2021-05-05
  • Shell實(shí)現(xiàn)批量操作文件的方法詳解

    Shell實(shí)現(xiàn)批量操作文件的方法詳解

    這篇文章主要為大家總結(jié)了一下Shell實(shí)現(xiàn)批量操作文件的命令,例如:查找某文件夾下指定文件所在的路徑、批量刪除某個(gè)文件夾下的指定文件,感興趣的可以了解一下
    2022-09-09
  • Shell腳本實(shí)現(xiàn)自動(dòng)檢測(cè)修改最快的Ubuntu軟件源

    Shell腳本實(shí)現(xiàn)自動(dòng)檢測(cè)修改最快的Ubuntu軟件源

    這篇文章主要介紹了Shell腳本實(shí)現(xiàn)自動(dòng)檢測(cè)修改最快的Ubuntu軟件源,本文先是講解了實(shí)現(xiàn)的思路,并給了實(shí)現(xiàn)腳本源碼,需要的朋友可以參考下
    2014-10-10

最新評(píng)論