среда, 4 февраля 2009 г.

Mysql. Временно "включить" журнал

Взято здесь http://www.bigdbahead.com/?p=99 и здесь http://www.opennet.ru/tips/info/1921.shtml.

Перехватываем и записываем срез трафика MySQL в файл:
tcpdump -i eth0 port 3306 -s 1500 -w tcpdump.out

Выделяем из дампа SQL запросы, используя утилиту tshark из комплекта сниффера Wireshark (http://www.wireshark.org/):
tshark -r tcpdump.out -d tcp.port==3306,mysql -T fields -e mysql.query > query_log.out

Удаляем из полученного лога пустые и неинформативные строки:
cat query_log.out | grep -vE "^(commit.*|autocommit.*|rollback.*|)$" | awk '{print $0 ";"}' > query_log_no_blank.out

Полученный лог удобно анализировать утилитой mysqlsla (http://hackmysql.com/mysqlsla)

А ниже предложеный в коментариях вариант:
tcpdump -n -i $if -s 0 -w - port 3306 and dst $ip | strings

Комментариев нет: