Mysql, логируем все запросы

Иногда бывает надо отловить все запросы, идущие на базу данных. Тут нужно включить полное логирование.

# cat my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
log = /var/log/all.log

После пришлось создать файл /var/log/all.log, установить права на запись, и лог начал писаться

# cat all.log | head
/usr/libexec/mysqld, Version: 5.0.45-log (Source distribution). started with:
Tcp port: 0 Unix socket: /var/lib/mysql/mysql.sock
Time Id Command Argument
090206 14:31:08 1 Connect Access denied for user ‘UNKNOWN_MYSQL_US’@’localhost’ (using password: NO)
090206 14:31:09 2 Connect admin@localhost on
2 Query SET NAMES ‘utf8’
2 Init DB krym_inetbiznes
2 Query SELECT option_value FROM wp_options WHERE option_name = ‘siteurl’
2 Query SELECT option_name, option_value FROM wp_options WHERE autoload = ‘yes’
2 Query SELECT option_value FROM wp_options WHERE option_name = ‘rcr_settings’ LIMIT 1

5.00 avg. rating (90% score) - 1 vote

6 комментариев

  • Есть вопрос по mysql. Есть две базы данных с одинаковыми структурами, можно ли как то перенести данные из одной базы, удовлетворяющие условию where в другую?
    P.S.  Ниче что я оставляю немного невтемачные комментарии?  могу и на мыло скидывать вопросы.

  • Ты бы лучше в асю стукнул, там бы пооперативней решили.

  • Привет Александр, отличный пост!, у меня как раз проблема по этой теме. Только я все равно не понял что нужно делать. В общем у меня превышен предел запросов к БД. Несколько сотен тысяч. Грозятся в хостинг отрубить.
    У меня несколько десятков тысяч медленных запросов
    SELECT option_name, option_value FROM wp_options WHERE autoload = ‘yes’;

    А что делать? Как исправлять? Был бы очень благодарен за более подробную инструкцию что делать по шагам. Где это все прописать, что вы написали в этом посту? Заранее спасибо. с БД вообще не работал, поэтому с ней на «ВЫ».
     

    • Стукни в асю, попробуй решить

  • в /var/log/all.log писать логи по запросам не кошерно, ибо этот файл зарезервирован для полного логирования системы. Найдётся умник, который в syslogd раскаментит строчку и засрётся ваш файл по полной

    • Skif, в примере подразумевается, что кроме тебя самого на сервере нет умников ))

css.php