mysql常用監(jiān)控腳本命令整理
#/bin/sh
#檢測(cè)mysql server是否正常提供服務(wù)
mysqladmin -u sky -ppwd -h localhost ping
#獲取mysql當(dāng)前的幾個(gè)狀態(tài)值
mysqladmin -u sky -ppwd -h localhost status
#獲取數(shù)據(jù)庫(kù)當(dāng)前的連接信息
mysqladmin -u sky -ppwd -h localhost processlist
#獲取當(dāng)前數(shù)據(jù)庫(kù)的連接數(shù)
mysql -u root -p123456 -BNe "select host,count(host) from processlist group by host;" information_schema
#顯示mysql的uptime
mysql -e"SHOW STATUS LIKE '%uptime%'"|awk '/ptime/{ calc = $NF / 3600;print $(NF-1), calc"Hour" }'
#查看數(shù)據(jù)庫(kù)的大小
mysql -u root -p123456-e 'select table_schema,round(sum(data_length+index_length)/1024/1024,4) from information_schema.tables group by table_schema;'
#查看某個(gè)表的列信息
mysql -u <user> --password=<password> -e "SHOW COLUMNS FROM <table>" <database> | awk '{print $1}' | tr "\n" "," | sed 's/,$//g'
#執(zhí)行mysql腳本
mysql -u user-name -p password < script.sql
#mysql dump數(shù)據(jù)導(dǎo)出
mysqldump -uroot -T/tmp/mysqldump test test_outfile --fields-enclosed-by=\" --fields-terminated-by=,
#mysql數(shù)據(jù)導(dǎo)入
mysqlimport --user=name --password=pwd test --fields-enclosed-by=\" --fields-terminated-by=, /tmp/test_outfile.txt
LOAD DATA INFILE '/tmp/test_outfile.txt' INTO TABLE test_outfile FIELDS TERMINATED BY '"' ENCLOSED BY ',';
#mysql進(jìn)程監(jiān)控
ps -ef | grep "mysqld_safe" | grep -v "grep"
ps -ef | grep "mysqld" | grep -v "mysqld_safe"| grep -v "grep"
#查看當(dāng)前數(shù)據(jù)庫(kù)的狀態(tài)
mysql -u root -p123456 -e 'show status'
#mysqlcheck 工具程序可以檢查(check),修 復(fù)( repair),分 析( analyze)和優(yōu)化(optimize)MySQL Server 中的表
mysqlcheck -u root -p123456 --all-databases
#mysql qps查詢 QPS = Questions(or Queries) / Seconds
mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Questions"'
mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Queries"'
#mysql Key Buffer 命中率 key_buffer_read_hits = (1 - Key_reads / Key_read_requests) * 100% key_buffer_write_hits= (1 - Key_writes / Key_write_requests) * 100%
mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Key%"'
#mysql Innodb Buffer 命中率 innodb_buffer_read_hits=(1-Innodb_buffer_pool_reads/Innodb_buffer_pool_read_requests) * 100%
mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Innodb_buffer_pool_read%"'
#mysql Query Cache 命中率 Query_cache_hits= (Qcache_hits / (Qcache_hits + Qcache_inserts)) * 100%
mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Qcache%"'
#mysql Table Cache 狀態(tài)量
mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Open%"'
#mysql Thread Cache 命中率 Thread_cache_hits = (1 - Threads_created / Connections) * 100% 正常來(lái)說(shuō),Thread Cache 命中率要在 90% 以上才算比較合理。
mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Thread%"'
#mysql 鎖定狀態(tài):鎖定狀態(tài)包括表鎖和行鎖兩種,我們可以通過(guò)系統(tǒng)狀態(tài)變量獲得鎖定總次數(shù),鎖定造成其他線程等待的次數(shù),以及鎖定等待時(shí)間信息
mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "%lock%"'
#mysql 復(fù)制延時(shí)量 在slave節(jié)點(diǎn)執(zhí)行
mysql -u root -p123456 -e 'SHOW SLAVE STATUS'
#mysql Tmp table 狀況 Tmp Table 的狀況主要是用于監(jiān)控 MySQL 使用臨時(shí)表的量是否過(guò)多,是否有臨時(shí)表過(guò)大而不得不從內(nèi)存中換出到磁盤(pán)文件上
mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Created_tmp%"'
#mysql Binlog Cache 使用狀況:Binlog Cache 用于存放還未寫(xiě)入磁盤(pán)的 Binlog 信 息 。
mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Binlog_cache%"'
#mysql nnodb_log_waits 量:Innodb_log_waits 狀態(tài)變量直接反應(yīng)出 Innodb Log Buffer 空間不足造成等待的次數(shù)
mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Innodb_log_waits'

整理出來(lái)的常用的shell腳本會(huì)放到https://github.com/zhwj184/shell-work 這,主要包括。
shell-work
shell常用分析命令和腳本
mysql監(jiān)控腳本
cookielog分析腳本
線上java進(jìn)程信息dump和機(jī)器信息dump腳本
cpu監(jiān)控相關(guān)
dish 磁盤(pán)管理
相關(guān)文章
大數(shù)據(jù)小內(nèi)存排序問(wèn)題如何巧妙解決
文章介紹了大數(shù)據(jù)小內(nèi)存排序的三種方法:數(shù)據(jù)庫(kù)排序、分治法和位圖法,數(shù)據(jù)庫(kù)排序簡(jiǎn)單但速度慢,對(duì)設(shè)備要求高;分治法高效但實(shí)現(xiàn)復(fù)雜;位圖法可讀性差,但存儲(chǔ)空間受限2025-01-01
Redis什么是熱Key問(wèn)題以及如何解決熱Key問(wèn)題
這篇文章主要介紹了Redis什么是熱Key問(wèn)題以及如何解決熱Key問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11
Mysql 數(shù)據(jù)庫(kù)常用備份方法和注意事項(xiàng)
Mysql 數(shù)據(jù)庫(kù)常用備份方法和注意事項(xiàng) ,需要的朋友可以參考下。2010-04-04
將MySQL查詢結(jié)果按值排序的簡(jiǎn)要教程
這篇文章主要介紹了將MySQL查詢結(jié)果按值排序的簡(jiǎn)要教程,不過(guò)同樣需要對(duì)結(jié)果進(jìn)行檢查而決定是否使用order by等其他語(yǔ)句,需要的朋友可以參考下2015-12-12

