MySQL占用CPU過高排查過程及可能優(yōu)化方案
1.查看生產(chǎn)DB服務(wù)器top列表,
執(zhí)行 top 命令
2.使用root用戶登錄mysql
執(zhí)行 show full processlist 查看慢查詢,反復(fù)執(zhí)行,如果發(fā)現(xiàn)一直有select 查詢語句存在,為了緩解DB服務(wù)器壓力,直接使用kill命令殺掉
kill 慢查詢的id
如果服務(wù)器壓力緩解,恢復(fù)正常。
3.查詢是否有鎖問題
show OPEN TABLES where In_use > 0;
查看正在鎖的事務(wù)
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
查看等待鎖的事務(wù)
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;
4.殺掉當(dāng)前所有的MySQL連接
mysqladmin -uroot -p processlist|awk -F "|" '{print $2}' |xargs -n 1 mysqladmin -uroot -p killMysql占用CPU過高如何優(yōu)化
1.打開慢查詢?nèi)罩?,查詢是否是某個(gè)SQL語句占用過多資源,如果是的話,可以對SQL語句進(jìn)行優(yōu)化,比如優(yōu)化 insert 語句、優(yōu)化 group by 語句、優(yōu)化 order by 語句、優(yōu)化 join 語句等等;
2.考慮索引問題,使用explain關(guān)鍵字分析SQL
3.定期分析表,使用optimize table;
4.優(yōu)化數(shù)據(jù)庫對象;
5.考慮是否是鎖問題;
6.調(diào)整一些MySQL Server參數(shù),比如key_buffer_size、table_cache、innodb_buffer_pool_size、innodb_log_file_size等等;
7.如果數(shù)據(jù)量過大,可以考慮使用MySQL集群或者搭建高可用環(huán)境。
以上就是MySQL占用CPU過高排查過程及可能優(yōu)化方案的詳細(xì)內(nèi)容,更多關(guān)于MySQL占用CPU過高的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
windows下mysql?8.0.27?安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了windows下mysql?8.0.27?安裝配置方法圖文教程,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04
MySQL學(xué)習(xí)筆記之?dāng)?shù)據(jù)定義表約束,分頁方法總結(jié)
這篇文章主要介紹了MySQL學(xué)習(xí)筆記之?dāng)?shù)據(jù)定義表約束,分頁方法,結(jié)合實(shí)例形式總結(jié)分析了數(shù)據(jù)定義、主鍵、外鍵、自增長、約束等概念與用法,并給出了關(guān)于分頁的實(shí)例與相關(guān)操作技巧,需要的朋友可以參考下2016-09-09
MySQL運(yùn)行報(bào)錯(cuò):“Expression?#1?of?SELECT?list?is?not?in?GR
這篇文章主要給大家介紹了關(guān)于MySQL運(yùn)行報(bào)錯(cuò):“Expression?#1?of?SELECT?list?is?not?in?GROUP?BY?clause?and?contains?nonaggre”的解決方法,文中將解決方法介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06
解決MySQL5.1安裝時(shí)出現(xiàn)Cannot create windows service for mysql.error
這篇文章主要介紹了解決MySQL5.1安裝時(shí)出現(xiàn)Cannot create windows service for mysql.error:0問題的方法2016-06-06
MySQL批量替換數(shù)據(jù)庫字符集的實(shí)用方法(附詳細(xì)代碼)
當(dāng)需要修改數(shù)據(jù)庫編碼和字符集時(shí),通常需要對其下屬的所有表及表中所有字段進(jìn)行修改,下面這篇文章主要介紹了MySQL批量替換數(shù)據(jù)庫字符集的實(shí)用方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-09-09
Mysql因?yàn)樽侄巫址幋a的問題導(dǎo)致索引沒生效的解決方案
通過分析MySQL的EXPLAIN結(jié)果,發(fā)現(xiàn)復(fù)合索引只使用了部分字段,原因是字符集不一致導(dǎo)致的,修改字符集為utf8mb4_0900_ai_ci后,查詢性能顯著提升,文章還介紹了MySQL字符集的演進(jìn)以及如何統(tǒng)一數(shù)據(jù)庫字符集2025-12-12

