MySQL修改general-log日誌
阿新 • • 發佈:2018-11-15
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