mysql执行语句_实时查看MySQL执行的语句
我們?cè)谧凡镸ySQL問題和性能調(diào)優(yōu)時(shí),有時(shí)希望看到當(dāng)前都有哪些命令正在被執(zhí)行,讓我們迅速找到熱點(diǎn)命令。下面我們就來介紹下如何查看當(dāng)前正在執(zhí)行的MySQL語句。
日志LOG
我們之前在 用service命令管理mysql啟停 文章中已經(jīng)使用過MySQL的錯(cuò)誤日志,它在my.cnf配置文件中指定位置:
[mysqld]
log-error = /user/local/mysql/log/mysql.err
該參數(shù)指定了錯(cuò)誤文件位置,能夠記錄所有的錯(cuò)誤日志,在問題追查時(shí)非常關(guān)鍵。類似的,我們還可以指定常規(guī)日志:
[mysqld]
# 控制是否開啟常規(guī)日志
general_log=true
# 指定常規(guī)日志的文件路徑
general_log_file=/usr/local/mysql/log/mysql.log
這個(gè)配置默認(rèn)是關(guān)閉的,因?yàn)檫@個(gè)日志文件會(huì)膨脹的很快,在大型業(yè)務(wù)中可能很快耗盡磁盤空間,因此一般只在追查問題時(shí)臨時(shí)打開,使用完成后關(guān)閉。
如果我們更改了這個(gè)配置,需要重啟MySQL服務(wù)。
查看常規(guī)日志是否打開
mysql> show variables like 'general%';
+------------------+--------------------------------+
| Variable_name | Value |
+------------------+--------------------------------+
| general_log | ON |
| general_log_file | /usr/local/mysql/log/mysql.log |
+------------------+--------------------------------+
2 rows in set (0.00 sec)
如果我們想要更改該參數(shù),可以使用:
mysql> set global general_log=off;
Query OK, 0 rows affected (0.01 sec)
由于general_log是全局的變量,因此必須帶上global參數(shù)。如果不是通過配置文件的方式變更狀態(tài),會(huì)在MySQL重啟后失效。
查看實(shí)時(shí)日志
如果我們已經(jīng)打開了常規(guī)日志的記錄,我們可以通過常規(guī)日志文件的查看來得到實(shí)時(shí)日志:
# -f 代表會(huì)實(shí)時(shí)讀取該文件的更新內(nèi)容
tail -f /usr/local/mysql/log/mysql.log
然后你就能在終端里看到MySQL的實(shí)時(shí)執(zhí)行記錄,如果覺得刷新過快,也可以使用vim/tail等方法來查看該日志文件進(jìn)行分析。
參考資料
總結(jié)
以上是生活随笔為你收集整理的mysql执行语句_实时查看MySQL执行的语句的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: imp 只导入索引_使用imp导入表和索
- 下一篇: linux cmake编译源码,linu