前不久,遇見一些問題,要監控一下SQL的執行,看看是不是有哪些SQL是要去掉的之類的
於是我上網找啊找啊,給出來的結果都是一種,修改my.cnf文件
我按着網上的說法去做,結果我直接崩潰了,
也不知道是不是我的環境是自己編譯安裝的還是其他什么的,反正按照改了以后就是死活運行不起來
沒辦法,只好自己看看怎么弄了
這時想起了剛剛接觸mysql時的一個SQL
show variables like "%name%";
set names utf8;
瞬間明了,找到了一個在沒有重啟mysql就不會失效的方法了
先show variables看看都有哪些變量是控制這個日志記錄的
| general_log | OFF |
| general_log_file | /data/mysql/localhost.log |
看到沒?這從字面上就明顯的告訴你了
那剩下來的就簡單了
mysql> set general_log=on;
ERROR 1229 (HY000): Variable 'general_log' is a GLOBAL variable and should be set with SET GLOBAL
好吧,還是個全局變量
mysql> set global general_log=on;
Query OK, 0 rows affected (0.00 sec)
再看看變量情況
| general_log | ON |
| general_log_file | /data/mysql/localhost.log |
隨便執行一些語句,然后再看看對應的目錄下的文件,有沒有我們的操作記錄
170109 16:47:06 544 Query set general_log=on
170109 16:47:31 544 Query set global general_log=on
170109 16:47:56 544 Query show variables
完事,收工