最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

前言

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

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

廢話不多說,直接帶大家寫一個簡單的Shell小腳本

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

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

[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)獲取所有表

有了庫信息,獲取所有表就簡單了,直接上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)計每張表的行數(shù)

取出庫名加表名,一個select count(1)統(tǒng)計表的行數(shù),循環(huán)統(tǒng)計,直接上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)計哪個Mysql,前面三個變量一改,立馬就能統(tǒng)計所有表的大小了。

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ù)最多?

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

[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

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

相關(guān)文章

  • shell實現(xiàn)tr刪除替換詳解

    shell實現(xiàn)tr刪除替換詳解

    這篇文章主要介紹了shell實現(xiàn)tr刪除替換詳解,需要的朋友可以參考下
    2014-12-12
  • Shell腳本批量清除Nginx緩存

    Shell腳本批量清除Nginx緩存

    這篇文章主要介紹了Shell腳本批量清除Nginx緩存,本文直接給出實現(xiàn)代碼和執(zhí)行效果圖,需要的朋友可以參考下
    2014-12-12
  • linux命令查看磁盤空間的方法

    linux命令查看磁盤空間的方法

    這篇文章主要介紹了linux命令查看磁盤空間的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04
  • 你可能不知道的Shell(有趣的知識)

    你可能不知道的Shell(有趣的知識)

    這篇文章向大家介紹Shell一些非廣為人知、但卻實用有趣的知識,權(quán)當品嘗shell主食后的甜點吧
    2013-07-07
  • Shell實現(xiàn)系統(tǒng)時間和BIOS時間同步校準腳本分享

    Shell實現(xiàn)系統(tǒng)時間和BIOS時間同步校準腳本分享

    這篇文章主要介紹了Shell實現(xiàn)系統(tǒng)時間和BIOS時間同步校準腳本分享,本文給出了多個時間同步服務(wù)器,然后用ntpdate輪詢同步,需要的朋友可以參考下
    2014-10-10
  • bash腳本編程學(xué)習(xí)之算術(shù)運算與文件查找

    bash腳本編程學(xué)習(xí)之算術(shù)運算與文件查找

    算數(shù)運算在每個編程語言里面是最基本的功能,在bash里面也是。下面這篇文章就給大家詳細介紹了腳本編程bash中的算術(shù)運算與文件查找,文中還給出了多道練習(xí)題和答案,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-12-12
  • shell腳本如何讀取properties文件中的值

    shell腳本如何讀取properties文件中的值

    這篇文章主要給大家介紹了關(guān)于shell腳本如何讀取properties文件中值的相關(guān)資料,文中通過實例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-03-03
  • 使用shc工具加密shell腳本詳解

    使用shc工具加密shell腳本詳解

    這篇文章主要介紹了使用shc工具加密shell腳本詳解,Shc可以用來對shell腳本進行加密,可以將shell腳本轉(zhuǎn)換為一個可執(zhí)行的二進制文件,需要的朋友可以參考下
    2014-12-12
  • Shell腳本中awk指令的用法

    Shell腳本中awk指令的用法

    今天小編就為大家分享一篇關(guān)于Shell腳本中awk指令的用法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • Linux Shell腳本系列教程(一):Shell入門

    Linux Shell腳本系列教程(一):Shell入門

    這篇文章主要介紹了Linux Shell腳本系列教程(一):Shell入門,本文講解了Shell簡介、Shell基本操作、如何打開Shell終端、Shell腳本的概念、如何運行Shell腳本、Shell腳本的注釋等基礎(chǔ)知識,需要的朋友可以參考下
    2015-06-06

最新評論

合江县| 陇西县| 南雄市| 米脂县| 孟村| 阿鲁科尔沁旗| 岳阳县| 唐海县| 云梦县| 敦化市| 昆明市| 黑龙江省| 丹巴县| 绥江县| 丰县| 茶陵县| 宜良县| 梨树县| 芜湖市| 全椒县| 宁津县| 海门市| 桐城市| 梅河口市| 金平| 侯马市| 西城区| 石屏县| 邵阳市| 怀安县| 织金县| 得荣县| 盐城市| 渭源县| 通州市| 兴安县| 呼玛县| 玛纳斯县| 凤台县| 思茅市| 娄烦县|