MySQL占用CPU過(guò)高排查過(guò)程及可能優(yōu)化方案
1.查看生產(chǎn)DB服務(wù)器top列表,
執(zhí)行 top 命令
2.使用root用戶登錄mysql
執(zhí)行 show full processlist 查看慢查詢,反復(fù)執(zhí)行,如果發(fā)現(xiàn)一直有select 查詢語(yǔ)句存在,為了緩解DB服務(wù)器壓力,直接使用kill命令殺掉
kill 慢查詢的id
如果服務(wù)器壓力緩解,恢復(fù)正常。
3.查詢是否有鎖問(wèn)題
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 kill
Mysql占用CPU過(guò)高如何優(yōu)化
1.打開(kāi)慢查詢?nèi)罩?,查詢是否是某個(gè)SQL語(yǔ)句占用過(guò)多資源,如果是的話,可以對(duì)SQL語(yǔ)句進(jìn)行優(yōu)化,比如優(yōu)化 insert 語(yǔ)句、優(yōu)化 group by 語(yǔ)句、優(yōu)化 order by 語(yǔ)句、優(yōu)化 join 語(yǔ)句等等;
2.考慮索引問(wèn)題,使用explain關(guān)鍵字分析SQL
3.定期分析表,使用optimize table;
4.優(yōu)化數(shù)據(jù)庫(kù)對(duì)象;
5.考慮是否是鎖問(wèn)題;
6.調(diào)整一些MySQL Server參數(shù),比如key_buffer_size、table_cache、innodb_buffer_pool_size、innodb_log_file_size等等;
7.如果數(shù)據(jù)量過(guò)大,可以考慮使用MySQL集群或者搭建高可用環(huán)境。
以上就是MySQL占用CPU過(guò)高排查過(guò)程及可能優(yōu)化方案的詳細(xì)內(nèi)容,更多關(guān)于MySQL占用CPU過(guò)高的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
手把手教你使用Navicat生成MySQL測(cè)試數(shù)據(jù)
Navicat是一套快速、可靠并價(jià)格相當(dāng)便宜的數(shù)據(jù)庫(kù)管理工具,專為簡(jiǎn)化數(shù)據(jù)庫(kù)的管理及降低系統(tǒng)管理成本而設(shè),下面這篇文章主要給大家介紹了關(guān)于使用Navicat生成MySQL測(cè)試數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下2023-05-05mysql查詢FIND_IN_SET?REGEXP實(shí)踐示例
這篇文章主要為大家介紹了mysql查詢FIND_IN_SET?REGEXP實(shí)踐示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05MySQL新增字段后Java實(shí)體未更新的潛在問(wèn)題與解決方案
在Java+MySQL的開(kāi)發(fā)中,我們通常使用ORM框架來(lái)映射數(shù)據(jù)庫(kù)表與 Java 對(duì)象,但有時(shí)候,數(shù)據(jù)庫(kù)表結(jié)構(gòu)變更(如新增字段)后,開(kāi)發(fā)人員可能忘記同步更新Java實(shí)體類,會(huì)導(dǎo)致什么問(wèn)題?接下小編給大家介紹了MySQL新增字段后Java實(shí)體未更新的潛在問(wèn)題與解決方案2025-03-03IP處理函數(shù)inet_aton()和inet_ntoa()使用說(shuō)明
IP處理函數(shù)inet_aton()和inet_ntoa()使用說(shuō)明,需要的朋友可以參考下2012-03-03mysql數(shù)據(jù)庫(kù)的內(nèi)外連接
這篇文章主要介紹了mysql數(shù)據(jù)庫(kù)的內(nèi)外連接,內(nèi)連接實(shí)際上就是利用where子句對(duì)兩種表形成的笛卡兒積進(jìn)行篩選,我們前面學(xué)習(xí)的查詢都是內(nèi)連接,也是在開(kāi)發(fā)過(guò)程中使用的最多的連接查詢,需要的朋友可以參考下2023-07-07Mysql中xtrabackup備份的實(shí)現(xiàn)
Xtrabackup是Percona團(tuán)隊(duì)開(kāi)發(fā)的用于MySQL數(shù)據(jù)庫(kù)物理熱備份的開(kāi)源備份工具,本文就來(lái)介紹一下Mysql中xtrabackup備份的實(shí)現(xiàn),就有一定的參考價(jià)值,感興趣的可以了解一下2023-12-12