運維:MySQL常用的服務(wù)器狀態(tài)命令
今天給大家分享mysql常用的服務(wù)器狀態(tài)命令 ,希望對大家日常運維mysql數(shù)據(jù)庫或者調(diào)優(yōu)提供一些幫助!
1、查詢當前服務(wù)器運行的進程
第一個命令:
show processlist
查詢正在運行的所有MySQL進程,包括進程ID、用戶、主機、當前數(shù)據(jù)庫、命令、時間等信息。
第二個命令:
select * from information_schema.processlist
where command = 'query';
篩選出所有正在運行的SQL語句,可以通過ORDER BY語句來按照時間排序。
說明:使用該命令可以進行SQL語句可以用where語句進行篩選,比如數(shù)據(jù)庫名稱、命令類型等。
2、查詢最大鏈接數(shù)
show variables like '%max_connections%';
3、查詢當前鏈接數(shù)
show status like 'Thread%';
4、展示當前正在執(zhí)行的sql語句
-- 查詢慢MySQL查詢的條數(shù)
Show status like 'slow_queries';
-- 展示當前正在執(zhí)行的sql語句
show profiles;
5、查詢當前MySQL當中記錄的慢查詢條數(shù)
注意:需要配置開啟慢查詢記錄。
配置方式如下:
修改MySQL配置參數(shù),根據(jù)操作系統(tǒng)不同修改的配置文件如下:
Linux:my.cnf
Windows:my.ini
增加如下配置:
[mysqld]
long_query_time=2 // 慢查詢的定義時間(超過2秒就是慢查詢)// 慢查詢log日志記錄( slow_query_log)
## 5.5 版本以下配置
log-slow-queries="mysql-slow-query.log"
## 5.5 版本及以上配置
slow-query-log=on
slow_query_log_file="mysql-slow-query.log"http://記錄沒有使用索引的query
log-query-not-using-indexes
然后重啟數(shù)據(jù)庫就會生效。慢查詢常用的命令:
-- 查詢慢查詢的日志路徑
show variables like 'slow_query_log_file';
-- 使用msql提供的日志分析工具mysqldumpslow分析找出查詢時間最慢的五條sql
mysqldumpslow -s 5 /mysql/mysql01_slow.log
6、展示Mysql服務(wù)器從啟動到現(xiàn)在持續(xù)運行的時間
show status like 'uptime';
說明:Value的單位為秒。
7、查詢數(shù)據(jù)庫存儲占用情況
-- 索引+數(shù)據(jù)
SELECT table_schema AS `Database`,
SUM(data_length + index_length) / 1024 / 1024 AS `Size (MB)`
FROM information_schema.TABLES GROUP BY table_schema;
說明:索引+數(shù)據(jù)之后就是完整的容量了。
8、查詢服務(wù)器啟動以來的執(zhí)行查詢的總次數(shù)
SHOW GLOBAL STATUS LIKE 'Com_select';
9、查詢服務(wù)器啟動以來的執(zhí)行新增的總次數(shù)
SHOW GLOBAL STATUS LIKE 'Com_insert';
10、查詢服務(wù)器啟動以來的執(zhí)行更新的總次數(shù)
SHOW GLOBAL STATUS LIKE 'Com_update';
11、查詢服務(wù)器啟動以來的執(zhí)行刪除的總次數(shù)
SHOW GLOBAL STATUS LIKE 'Com_delete';
說明:基于統(tǒng)計數(shù)據(jù)庫的增刪改查的次數(shù),可以給數(shù)據(jù)庫是否要做讀寫分離提供依據(jù)。
12、總結(jié)
以上是一些常用的服務(wù)器狀態(tài)運行命令。