mysql常用的服務(wù)器狀態(tài)命令
藍(lán)隊(duì)云小課堂:
1、查詢當(dāng)前服務(wù)器運(yùn)行的進(jìn)程
show processlist
查詢正在運(yùn)行的所有MySQL進(jìn)程,包括進(jìn)程ID、用戶、主機(jī)、當(dāng)前數(shù)據(jù)庫、命令、時(shí)間等信息。

select * from information_schema.processlist where command = 'query';
篩選出所有正在運(yùn)行的SQL語句,可以通過ORDER BY語句來按照時(shí)間排序
說明:使用該命令可以進(jìn)行SQL語句可以用where語句進(jìn)行篩選,比如數(shù)據(jù)庫名稱、命令類型等。
2、查詢最大鏈接數(shù)
show variables like '%max_connections%';

3、查詢當(dāng)前鏈接數(shù)
show status like 'Thread%';

4、展示當(dāng)前正在執(zhí)行的sql語句
-- 查詢慢MySQL查詢的條數(shù)
Show status like 'slow_queries';
-- 展示當(dāng)前正在執(zhí)行的sql語句
show profiles;

5、查詢當(dāng)前MySQL當(dāng)中記錄的慢查詢條數(shù)

注意:需要配置開啟慢查詢記錄。
配置方式如下:
修改MySQL配置參數(shù),根據(jù)操作系統(tǒng)不同修改的配置文件如下:
Linux:my.cnf
Windows:my.ini
增加如下配置:
[mysqld]
long_query_time=2 // 慢查詢的定義時(shí)間(超過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"//記錄沒有使用索引的query
log-query-not-using-indexes
然后重啟數(shù)據(jù)庫就會(huì)生效。
慢查詢常用的命令
-- 查詢慢查詢的日志路徑
show variables like 'slow_query_log_file';
-- 使用msql提供的日志分析工具mysqldumpslow分析找出查詢時(shí)間最慢的五條sql
mysqldumpslow -s 5 /mysql/mysql01_slow.log
6、展示Mysql服務(wù)器從啟動(dòng)到現(xiàn)在持續(xù)運(yùn)行的時(shí)間
show status like 'uptime';

說明:Value的單位為秒
7、查詢數(shù)據(jù)庫存儲(chǔ)占用情況
-- 索引+數(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ù)器啟動(dòng)以來的執(zhí)行查詢的總次數(shù)
SHOW GLOBAL STATUS LIKE 'Com_select';
9、查詢服務(wù)器啟動(dòng)以來的執(zhí)行新增的總次數(shù)
SHOW GLOBAL STATUS LIKE 'Com_insert';
10、查詢服務(wù)器啟動(dòng)以來的執(zhí)行更新的總次數(shù)
SHOW GLOBAL STATUS LIKE 'Com_update';
11、查詢服務(wù)器啟動(dòng)以來的執(zhí)行刪除的總次數(shù)
SHOW GLOBAL STATUS LIKE 'Com_delete';
說明:基于統(tǒng)計(jì)數(shù)據(jù)庫的增刪改查的次數(shù),可以給數(shù)據(jù)庫是否要做讀寫分離提供依據(jù)。
更多小知識(shí),可聯(lián)系藍(lán)隊(duì)云一起探討。