#前提
MySQLにおけるクエリログの見方を忘れがちなのでメモします。
MySQL8
#本題
MySQLのクエリログはgeneral_logと言う設定をONにすることにより、
すべてのクエリをログに吐かせることができる。
まずは、general_logの設定確認。
mysql> show variables like 'general_log%';
+------------------+---------------------------------+
| Variable_name | Value |
+------------------+---------------------------------+
| general_log | OFF |
| general_log_file | /var/lib/mysql/2a4a9fa16d2e.log |
+------------------+---------------------------------+
2 rows in set (0.00 sec)
デフォルトでは恐らくOFFになっているため、ONに変更します。
mysql> set global general_log = on;
Query OK, 0 rows affected (0.02 sec)
確認。
mysql> show variables like 'general_log%';
+------------------+---------------------------------+
| Variable_name | Value |
+------------------+---------------------------------+
| general_log | ON |
| general_log_file | /var/lib/mysql/2a4a9fa16d2e.log |
+------------------+---------------------------------+
2 rows in set (0.01 sec)
試しにクエリを投げてみます。
mysql> select 1;
+---+
| 1 |
+---+
| 1 |
+---+
1 row in set (0.01 sec)
$ cat /var/lib/mysql/2a4a9fa16d2e.log
2020-10-24T00:00:00.278525Z 19 Query show variables like 'general_log%'
2020-10-24T00:00:00.802232Z 18 Query select 1
※ログの分だけディスクを食うので注意。