mysql打开sql语句日志
簡言
1. 昨天線上服務器mysql的cpu使用飆升到400%,且一直持續,修改了可能導致問題的地方,比如加索引,優化慢查詢,然并卵,照舊
2. 后來網上查了下,可以打開sql語句日志,看下mysql到底卡在什么地方,才最終定位到問題
步驟如下
1. 終端上使用命令連接進mysql(筆者這里的mysql是3305端口,默認情況mysql是3306端口)
2. 查看所有變量general,可以看到general_log是關閉的
3. set global general_log = 1; 打開日志,再次查看這變量可以看到已經打開了
4. 打開上圖中的日志文件,也就是/var/lib/mysql/185.log 可以看到mysql已經開始把執行的語句寫入這個文件了
5. 分析sql語句,看哪些是執行比較慢的(筆者這里就是看到那些?SELECT * FROM `api_ks_20201116` WHERE......執行后總要間隔30多毫秒,我擦,明明CPU已經爆滿了,為什么還會等待呢,說明就是這種語句執行速度慢,分析應該是返回數據量比較大導致的,后來改成只select指定的字段,不再select *之后發現問題迎刃而解,哈哈)
6. 使用完后,記得關閉sql日志,因為它的數據量很大,一天隨隨便便幾個G,而且還會拖累mysql的性能,命令如下:set global general_log = 0; ?再次查看這變量可以看到已經關閉了
總結
以上是生活随笔為你收集整理的mysql打开sql语句日志的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: raft算法动画演示
- 下一篇: ubuntu16.04安装curl