有時,關系型相關數據庫系統的復雜性會把你搞暈,不過幸運的是,使用MySQL工具來管理查詢就就可以避免這些復雜性。 在本教程中,
有時,關系型相關數據庫系統的復雜性會把你搞暈,不過幸運的是,使用mysql工具來管理查詢就就可以避免這些復雜性。 在本教程中,我將向你們展示 怎樣去查找并殺掉任何非法的mysql查詢。
為了瀏覽當前正在運行的查詢,登陸到MySQL終端,然后運行‘show processlist’命令:
首先你應該查看’Time’項,這里記錄了進程執行 “做其當做的事情” 操作的秒數。‘command’項處于‘Sleep’ 狀態的進程表示其正在等待接受查詢,因此,它并沒有消耗任何資源。對于其他任何進程而言,‘Time’超過一定的秒數表明出現問題。
————————————–分割線 ————————————–
Ubuntu 14.04下安裝mysql
《MySQL權威指南(原書第2版)》清晰中文掃描版 PDF
Ubuntu 14.04 LTS 安裝 LNMP NginxPHP5 (PHP-FPM)MySQL
Ubuntu 14.04下搭建MySQL主從服務器
Ubuntu 12.04 LTS 構建高可用分布式 MySQL 集群
Ubuntu 12.04下源代碼安裝MySQL5.6以及Python-MySQLdb
MySQL-5.5.38通用二進制安裝
————————————–分割線 ————————————–
在上面的例子中,唯一運行的查詢是我們的‘show processlist’命令。讓我們來看看如果我們有一個寫的很爛的查詢是怎么樣的:
啊哈!現在我們看到有一個查詢運行了將近30秒。如果我們不想讓它的進程繼續運行,可以將它的’Id’傳遞給kill命令:
(注意 由于我們沒有改變任何數據,MySQL總是報告0行被影響。)
明智的使用kill命令能夠清除積壓的查詢。然而,要記住的是,那不是一種永久的方法 – 如果這些查詢來自你的程序,你需要去重寫它們,,或者將繼續看到相同的問題不斷出現。
另請參閱
關于不同‘命令’的MySQL文檔:
via:
譯者:hunanchenxingyu 校對:wxy
本文由 LCTT 原創翻譯,Linux中國 榮譽推出
本文永久更新鏈接地址: