MySQL越來越被更多企業接受,隨著企業發展,MySQL儲存資料日益膨脹,MySQL的效能分析、監控預警、容量擴展議題越來越多。這篇文章我們就為大家做了一個關於幾個mysql監控腳本指令的總結。
[java]
#/bin/sh
#偵測mysql server是否正常提供服務
mysqladmin -u sky -ppwd -h localhost ping
#取得mysql目前的幾個狀態值
mysqladmin -u sky -ppwd -h localhost status
#取得資料庫目前的連線資訊
mysqladmin -u sky -ppwd h lo#host processlist#my#O dump資料匯出
mysqldump -uroot -T/tmp/mysqldump test test_outfile --fields-enclosed-by=\" --fields-terminated-by=,
#mysql 資料匯入 --user=name --password=pwd test --fields-enclosed-by=\" --fields-terminated-by=, /tmp/test_outfile.txt
LOAD DATA INFILE '/tmp/test_out
LOAD DATA INFILE '/tmp/test_out.file.txt' INTO TABLE test_outfile FIELDS TERMINATED BY '"' ENCLOSED BY ',';
#1mysqlPp ## grep "mysqld" | grep -v "mysqld_safe"| grep -v "grep"
#檢視目前資料庫的狀態
my -u'rooto-p12356-p123566 #
#mysqlcheck 工具程式可以檢查(check),修 復( repair),分 析( analyze)和最佳化(optimize)MySQL Server 中的表
mysqlcheck-u -databases
#mysql qps查詢 QPS = Questions(or Queries) / Seconds
mysql -u root -p123456 -e'SHOW -u root -p123456 -e,3OW mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Queries"'
# _read_requests) * 100% key_buffer_write_hits= ( 1 - Key_writes / Key_write_requests) * 100%
mysql -u root -p123456 -e 'SHOW /* uffer 命中率 innodb_buffer_read_hits= (1-Innodb_buffer_pool_reads/Innodb_buffer_pool_read_requests) * 100%
mysql -u root -p123456 -e 'SHOW /*!50000
#mysql Query Cache 命中率 Query_cache_hits = (Qcache_hits / (Qcache_hits + Qcache_inserts)) * 100%
mysql -u root -p123456 -e 'SHOW# />GL50000*
mysql Table Cache狀態量
mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Open%"' created / Connections) * 100% 正常來說,Thread Cache 命中率要在 90% 以上才算較合理。
mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Thread%"'
#my 狀態鎖定狀態:資料表鎖定和行鎖定狀態可以透過系統狀態變數取得鎖定總數,鎖定造成其他執行緒等待的次數,以及鎖定等待時間資訊
mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */STATUS LIKE "%lock%" '
#mysql 複製延時量 在slave節點執行
mysql -u root -p123456 -e 'SHOW SLAVE STATUS' #用於監控 MySQL 使用臨時表的量是否過多,是否有臨時表過大而不得不從內存中換出到磁盤文件上
mysql -u root -p123456 -e 'SHOW /*!50000GLOBAL * GLOBAL * / STATUS LIKE "Created_tmp%"'
##mysql Binlog Cache 使用狀況:Binlog Cache 用來存放尚未寫入磁碟的 Binlog 信 息 。
mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Binlog_cache%"' ##db_Log##mysql uffer 空間不足造成等待的次數
mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Innodb_log_waits
#
以上是常用的幾個mysql監控腳本指令的詳細內容。更多資訊請關注PHP中文網其他相關文章!