1. 程式人生 > >MySQL修改general-log日誌

MySQL修改general-log日誌

MySQL檢視SQL執行記錄

MySQL檢視SQL執行記錄,主要有兩種方式,這裡分別介紹一下。

  • 方法1:檢視general-log日誌
  • 方法2:檢視bin-log日誌

1.檢視general-log日誌

1.1 檢視相關變數
mysql> show variables like 'general%';
+------------------+--------------------------------------------------------+
| Variable_name    | Value                                                  |
+------------------+--------------------------------------------------------+ | general_log | OFF | | general_log_file | D:/Program Files/MySQL/MySQL Server 5.7/logs/mysql.log | +------------------+--------------------------------------------------------+
2 rows in set, 1 warning (0.03 sec)

可以看到在該目錄下,是沒有mysql.log這個檔案的,原因是,mysql並沒有預設開啟general-log這個設定。
在這裡插入圖片描述

1.2 設定相關變數

執行SQL語句:set global general_log = ON;,但是如果需要永久生效,還是得修改my.cnf/my.ini檔案([mysqld]後中修改:general_log = 1)如下:

#general-log=0 default value
general-log=1
1.3 重啟mysql
1.4 再次檢驗
mysql> show
variables like 'general%'; +------------------+--------------------------------------------------------+ | Variable_name | Value | +------------------+--------------------------------------------------------+ | general_log | ON | | general_log_file | D:/Program Files/MySQL/MySQL Server 5.7/logs/mysql.log | +------------------+--------------------------------------------------------+ 2 rows in set, 1 warning (0.00 sec)
1.5 執行操作
mysql> use insidemysql
Database changed
mysql> show tables;
+-----------------------+
| Tables_in_insidemysql |
+-----------------------+
| buy_log               |
| fact_sales_lawson     |
| matrix                |
| student               |
| student_temp          |
| t                     |
| t2                    |
| t3                    |
+-----------------------+
8 rows in set (0.00 sec)

mysql> select * from t;
+------+
| i    |
+------+
|    1 |
+------+
1 row in set (0.02 sec)

檢視相應的general-log檔案:
在這裡插入圖片描述發現,剛才執行的相關mysql的操作,均已記錄到了mysql.log中。

方法2

檢視bin-log 日誌,關於bin-log 日誌,筆者之前就已經做過介紹,詳見連結:https://blog.csdn.net/liu16659/article/details/83755136