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

# 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

Еще несколько ссылочек.

6 responses


Do you want to comment?

Comments RSS and TrackBack Identifier URI ?

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

Май 6, 2009 3:14 дп

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

Май 6, 2009 12:05 пп

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

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

Август 25, 2009 5:44 пп

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

Август 26, 2009 10:15 дп

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

Август 9, 2010 2:32 пп

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

Август 16, 2010 7:29 пп

Comment now!
















Trackbacks

1