mysql異常占用資源排查
通過(guò)執(zhí)行日志與連接信息排查
查看是否開啟日志記錄
mysql> show global variables like '%general%'; +------------------+---------------+ | Variable_name | Value | +------------------+---------------+ | general_log | OFF | | general_log_file | localhost.log | +------------------+---------------+ 2 rows in set (0.03 sec)
開啟sql記錄
mysql> set global general_log=on; Query OK, 0 rows affected (0.00 sec)
查看日志位置觀察異常sql
mysql> show global variables like '%general%'; +------------------+---------------+ | Variable_name | Value | +------------------+---------------+ | general_log | ON | | general_log_file | localhost.log | +------------------+---------------+
查看當(dāng)前連接數(shù)
mysql> SHOW STATUS LIKE 'Threads_connected'; +-------------------+-------+ | Variable_name | Value | +-------------------+-------+ | Threads_connected | 2 | +-------------------+-------+ 1 row in set (0.04 sec)
查看哪些客戶端連接到了mysql
mysql> SHOW PROCESSLIST; +-------+-------------+----------------------+------------------+---------+------+--------------------------+------------------+----------+ | Id | User | Host | db | Command | Time | State | Info | Progress | +-------+-------------+----------------------+------------------+---------+------+--------------------------+------------------+----------+ | 1 | system user | | NULL | Daemon | NULL | InnoDB purge worker | NULL | 0.000 | | 2 | system user | | NULL | Daemon | NULL | InnoDB purge coordinator | NULL | 0.000 | | 3 | system user | | NULL | Daemon | NULL | InnoDB purge worker | NULL | 0.000 | | 4 | system user | | NULL | Daemon | NULL | InnoDB purge worker | NULL | 0.000 | | 5 | system user | | NULL | Daemon | NULL | InnoDB shutdown handler | NULL | 0.000 | | 98821 | root | 192.168.2.42:53790 | test_cloud | Sleep | 2 | | NULL | 0.000 | | 98824 | root | 192.168.2.14:64112 | NULL | Query | 0 | Init | SHOW PROCESSLIST | 0.000 | +-------+-------------+----------------------+------------------+---------+------+--------------------------+------------------+----------+ 7 rows in set (0.05 sec)
通過(guò)慢sql信息排查
查看是否開啟慢sql記錄
mysql> show global variables like '%slow_query_log%'; +---------------------+--------------------+ | Variable_name | Value | +---------------------+--------------------+ | slow_query_log | OFF | | slow_query_log_file | localhost-slow.log | +---------------------+--------------------+ 2 rows in set (0.05 sec)
開啟慢sql記錄
mysql> set global slow_query_log=1; Query OK, 0 rows affected (0.00 sec) mysql> show global variables like '%slow_query_log%'; +---------------------+--------------------+ | Variable_name | Value | +---------------------+--------------------+ | slow_query_log | ON | | slow_query_log_file | localhost-slow.log | +---------------------+--------------------+ 2 rows in set (0.05 sec)
關(guān)閉慢sql記錄
mysql> set global slow_query_log=0; Query OK, 0 rows affected (0.00 sec) mysql> show global variables like '%slow_query_log%'; +---------------------+--------------------+ | Variable_name | Value | +---------------------+--------------------+ | slow_query_log | OFF | | slow_query_log_file | localhost-slow.log | +---------------------+--------------------+ 2 rows in set (0.05 sec)
修改slow_launch_time與 long_query_time
slow_launch_time:定義一個(gè)客戶端連接啟動(dòng)所花費(fèi)的時(shí)間閾值。如果一個(gè)客戶端連接的啟動(dòng)時(shí)間超過(guò)了這個(gè)閾值,MySQL 將認(rèn)為這是一個(gè)慢連接啟動(dòng),并將其記錄到慢查詢?nèi)罩局小?/p>
long_query_time:定義一個(gè) SQL 查詢執(zhí)行所花費(fèi)的時(shí)間閾值。如果一個(gè) SQL 查詢的執(zhí)行時(shí)間超過(guò)了這個(gè)閾值,MySQL 將認(rèn)為這是一個(gè)慢查詢,并將其記錄到慢查詢?nèi)罩局小?/p>
這兩個(gè)參數(shù)都可以在 MySQL 的配置文件中進(jìn)行設(shè)置,通常在 my.cnf 或 my.ini 文件中定義。例如:
slow_launch_time = 2 long_query_time = 1
也可以通過(guò)sql進(jìn)行查看和修改:
查看慢連接判定時(shí)間:
mysql> show variables like 'slow_launch_time%'; +------------------+-------+ | Variable_name | Value | +------------------+-------+ | slow_launch_time | 2 | +------------------+-------+ 1 row in set (0.04 sec)
修改慢連接判定時(shí)間:
mysql> set global slow_launch_time=3; Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'slow_launch_time%'; +------------------+-------+ | Variable_name | Value | +------------------+-------+ | slow_launch_time | 3 | +------------------+-------+ 1 row in set (0.04 sec)
查看慢sql判定時(shí)間
mysql> show variables like 'long_query_time%'; +-----------------+-----------+ | Variable_name | Value | +-----------------+-----------+ | long_query_time | 10.000000 | +-----------------+-----------+ 1 row in set (0.05 sec)
修改慢sql判定時(shí)間
mysql> set long_query_time=3; Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'long_query_time%'; +-----------------+----------+ | Variable_name | Value | +-----------------+----------+ | long_query_time | 3.000000 | +-----------------+----------+ 1 row in set (0.04 sec)
到此這篇關(guān)于mysql異常占用資源排查的文章就介紹到這了,更多相關(guān)mysql異常占用資源排查內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL 備份失敗的問(wèn)題:undo log 清理耗時(shí)10 小時(shí)的問(wèn)題解決
本文將結(jié)合實(shí)際案例,剖析MySQL 8.0.18 環(huán)境下,因undo log清理耗時(shí)過(guò)長(zhǎng)導(dǎo)致全備失敗的故障成因與解決路徑,并探討智能工具在數(shù)據(jù)庫(kù)故障診斷中的應(yīng)用價(jià)值,感興趣的朋友一起看看吧2025-06-06
MySQL?InnoDB?存儲(chǔ)引擎的底層邏輯架構(gòu)
這篇文章主要為大家介紹了MySQL?InnoDB?存儲(chǔ)引擎的底層邏輯架構(gòu)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09
MySql如何查看數(shù)據(jù)庫(kù)變量信息常用腳本
這篇文章主要介紹了MySql如何查看數(shù)據(jù)庫(kù)變量信息常用腳本問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04
MySQL數(shù)據(jù)庫(kù)增刪改查超完整示例圖(新手入門必看)
MySQL中的增刪改查操作是實(shí)現(xiàn)數(shù)據(jù)庫(kù)數(shù)據(jù)管理的重要手段,通過(guò)對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的增加、刪除、修改和查詢,我們可以對(duì)數(shù)據(jù)進(jìn)行有效的管理和利用,這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)增刪改查的相關(guān)資料,需要的朋友可以參考下2026-04-04
MySQL跨服務(wù)器數(shù)據(jù)映射的實(shí)現(xiàn)
本文主要介紹了MySQL跨服務(wù)器數(shù)據(jù)映射的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03

