Иногда бывает надо отловить все запросы, идущие на базу данных. Тут нужно включить полное логирование.
# 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 комментариев
Есть вопрос по mysql. Есть две базы данных с одинаковыми структурами, можно ли как то перенести данные из одной базы, удовлетворяющие условию where в другую?
P.S. Ниче что я оставляю немного невтемачные комментарии? могу и на мыло скидывать вопросы.
Ты бы лучше в асю стукнул, там бы пооперативней решили.
Привет Александр, отличный пост!, у меня как раз проблема по этой теме. Только я все равно не понял что нужно делать. В общем у меня превышен предел запросов к БД. Несколько сотен тысяч. Грозятся в хостинг отрубить.
У меня несколько десятков тысяч медленных запросов
SELECT option_name, option_value FROM wp_options WHERE autoload = ‘yes’;
А что делать? Как исправлять? Был бы очень благодарен за более подробную инструкцию что делать по шагам. Где это все прописать, что вы написали в этом посту? Заранее спасибо. с БД вообще не работал, поэтому с ней на «ВЫ».
Стукни в асю, попробуй решить
в /var/log/all.log писать логи по запросам не кошерно, ибо этот файл зарезервирован для полного логирования системы. Найдётся умник, который в syslogd раскаментит строчку и засрётся ваш файл по полной
Skif, в примере подразумевается, что кроме тебя самого на сервере нет умников ))