Aby włączyć pełne zapytanie o dziennik, dodaj do pliku my.cnf:
log=/var/log/mysqldquery.log
Powyższe spowoduje zarejestrowanie wszystkich zapytań w pliku dziennika.
Nie zapomnij ponownie uruchomić usługi mysql po wprowadzeniu zmian w pliku my.cnf.
Przykładowe dane wyjściowe z działań za pośrednictwem SequelPro (klient Mac):
090721 11:06:45 51 Query ALTER TABLE `test` ADD `name` varchar(10) DEFAULT NULL
51 Query SHOW COLUMNS FROM `test`
51 Query SHOW INDEX FROM `test`
090721 11:06:57 51 Query SHOW COLUMNS FROM `test`
51 Query UPDATE `test` SET `id`='1', `name`='test' WHERE `id` = '1' AND `name` IS NULL LIMIT 1
51 Query SELECT * FROM `test` LIMIT 0,100
51 Query SELECT COUNT(1) FROM `test`
090721 11:07:00 51 Query UPDATE `test` SET `id`='2', `name`='test' WHERE `id` = '2' AND `name` IS NULL LIMIT 1
51 Query SELECT * FROM `test` LIMIT 0,100
51 Query SELECT COUNT(1) FROM `test`
W systemach opartych na *NIX możesz użyć grep, aby rozpocząć
grep 'SELECT\|INSERT\|UPDATE' querylog.log
Lub zrób coś bardziej podstępnego i zacznij robić takie rzeczy jak:
grep 'SELECT\|INSERT\|UPDATE' querylog.log | awk '{$1="";$2="";print}'
To dałoby ci coś takiego, nie idealnego, ale bliższego:
51 Query UPDATE `test` SET `id`='2', `name`='test' WHERE `id` = '2' AND `name` IS NULL LIMIT 1
SELECT * FROM `test` LIMIT 0,100
SELECT COUNT(1) FROM `test`
51 Query INSERT INTO `test` (`id`,`name`) VALUES ('3','testing')
SELECT * FROM `test` LIMIT 0,100
SELECT COUNT(1) FROM `test`