1. 程式人生 > >mysql開啟general_log記錄sql執行記錄

mysql開啟general_log記錄sql執行記錄

mysql開啟general_log記 mysql審計

方法一:更改my.cnf配置文件

vi /usr/local/kkmail/config/mysql/my.cnf
將下面兩行註釋取消掉,然後重啟mysql
#general_log = 1
#general_log_file = /tmp/kkmail_mysql.log

# 設置general log保存路徑
# 好像只能設置保存到 /tmp 或 /var 文件夾下。



方法二:在mysql命令控制臺操作

# 需要root用戶才有訪問此文件的權限
mysql> show global variables like '%general%';
+------------------+----------------------------------------------------+
| Variable_name    | Value                                              |
+------------------+----------------------------------------------------+
| general_log      | OFF                                                |
| general_log_file | /usr/local/kkmail/data/mysql/default/localhost.log |
+------------------+----------------------------------------------------+
2 rows in set (0.00 sec)

mysql> set global general_log_file='/tmp/kkmail_mysql.log';
Query OK, 0 rows affected (0.00 sec)

mysql> set global general_log=on;
Query OK, 0 rows affected (0.05 sec)

mysql> show global variables like '%general%';
+------------------+----------------------+
| Variable_name    | Value                |
+------------------+----------------------+
| general_log      | ON                   |
| general_log_file | /tmp/kkmail_mysql.log |
+------------------+----------------------+
2 rows in set (0.00 sec)

mysql> set global general_log=off;
Query OK, 0 rows affected (0.00 sec)

mysql> show global variables like '%general%';
+------------------+----------------------+
| Variable_name    | Value                |
+------------------+----------------------+
| general_log      | OFF                  |
| general_log_file | /tmp/kkmail_mysql.log |
+------------------+----------------------+
2 rows in set (0.00 sec)



方法三:將日誌保存在mysql數據庫general_log表中

mysql> set global log_output='table';
Query OK, 0 rows affected (0.00 sec)

mysql> show global variables like '%general%';
+------------------+----------------------+
| Variable_name    | Value                |
+------------------+----------------------+
| general_log      | OFF                  |
| general_log_file | /tmp/kkmail_mysql.log |
+------------------+----------------------+
2 rows in set (0.00 sec)

mysql> set global general_log=on;
Query OK, 0 rows affected (0.00 sec)

mysql> show global variables like '%general%';
+------------------+----------------------+
| Variable_name    | Value                |
+------------------+----------------------+
| general_log      | ON                   |
| general_log_file | /tmp/kkmail_mysql.log |
+------------------+----------------------+
2 rows in set (0.01 sec)

mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed

mysql> select * from general_log;


mysql開啟general_log記錄sql執行記錄