Möchte man eine Übersicht aller auf einem MySQL-Server verarbeiteter Queries, bietet sich das Zwischenschalten von MySQL Proxy an. Während der Entwicklung bietet MySQL mit General Query Log eine leichtgewichtige Alternative, die sich auf das Loggen aller eingehenden Queries in ein Logfile beschränkt.
Den aktuellen Status kann man im MySQL Client wie folgt erfragen:
mysql> SHOW VARIABLES LIKE "general_log%"; +------------------+----------------------------+ | Variable_name | Value | +------------------+----------------------------+ | general_log | OFF | | general_log_file | /var/run/mysqld/mysqld.log | +------------------+----------------------------+
Im Beispiel ist das General Log deaktiviert und die Datei /var/run/mysqld/mysqld.log
als Logdatei voreingestellt.
Aktivieren lässt sich das General Log via:
mysql> SET GLOBAL general_log = 'ON';
Wieder deaktivieren lässt es sich via:
mysql> SET GLOBAL general_log = 'OFF';
Eingehende Queries kann man in der Shell fortlaufend ausgeben via:
tail -f /var/run/mysqld/mysqld.logGoogle+