MySQL查看實時執行的SQL語句


MySQL默認不能實時查看執行的SQL語句,因為這會消耗一定的資源。

要開啟這個功能,稍微配置一下,打開這個LOG記錄就可以了。

1 查看LOG功能

首先,查看是否已經開啟實時SQL語句記錄。

mysql> SHOW VARIABLES LIKE "general_log%";

如下general_log值為OFF說明沒有開啟:

  1.  
    +------------------+----------------------------------+
  2.  
    | Variable_name | Value |
  3.  
    +------------------+----------------------------------+
  4.  
    | general_log | OFF |
  5.  
    | general_log_file | /var/lib/mysql/galley-pc.log |
  6.  
    +------------------+----------------------------------+
  7.  
    2 rows in set (0.00 sec)

2 打開LOG功能

2.1 臨時開啟

如下,打開實時記錄SQL語句功能,並指定自定義的log路徑:

  1.  
    mysql> SET GLOBAL general_log = 'ON';
  2.  
    mysql> SET GLOBAL general_log_file = '/var/log/mysql/general_log.log';

這兩個命令在MySQL重啟后失效,為臨時方法。

說明:這個文件會隨着訪問的增加而不斷變大,所以生產環境建議臨時開啟,用完及時關閉。

2.2 永久開啟

永久有效需要配置my.cnf文件,加入下面兩行:

general_log = 1 general_log_file = /var/log/mysql/general_sql.log

重啟MySQL生效。

3 實時查看

過一小段時間后,就可以導出查看/var/lib/mysql/sql_statement.log文件了,里面記錄了所有執行的SQL語句。

如果要實時查看該文件的改動,在Linux系統用tail命令:

$ tail -f /var/lib/mysql/general_sql.log

另外,也可以用BareTail軟件實時查看。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM