Ответ 1
Вы хотите, чтобы журнал запросов , но, очевидно, сделать это на тяжелом сервере можно было бы... неразумно.
Как профилировать базу данных MySQL. Я хочу видеть, что все SQL, выполняемые с базой данных.
Я знаю, что вы можете это сделать:
set profiling=1;
SELECT * FROM messages WHERE fromaddress='xxx';
SHOW PROFILES;
Но это, похоже, применимо только к запуску файла в командной строке, я хочу увидеть результаты запуска веб-сайта.
Вы хотите, чтобы журнал запросов , но, очевидно, сделать это на тяжелом сервере можно было бы... неразумно.
Это работало для меня на Ubuntu.
Найдите и откройте файл конфигурации MySQL, обычно /etc/mysql/my.cnf
на Ubuntu. Найдите раздел, в котором говорится "Регистрация и репликация"
# * Logging and Replication
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
log = /var/log/mysql/mysql.log
или в более новых версиях mysql, комментируйте OUT эти строки кодов
general_log_file = /var/log/mysql/mysql.log
general_log = 1
log_error = /var/log/mysql/error.log
Просто раскомментируйте переменную log
, чтобы включить ведение журнала. Перезапустите MySQL с помощью этой команды:
sudo /etc/init.d/mysql restart
Теперь были готовы начать мониторинг запросов по мере их поступления. Откройте новый терминал и запустите эту команду, чтобы прокрутить файл журнала, при необходимости отрегулировав путь.
tail -f /var/log/mysql/mysql.log
Вы можете просто проанализировать журнал запросов в реальном времени. Если в linux вы можете использовать tail -f, чтобы просмотреть журнал в реальном времени
Кроме того, вы можете попробовать свободное программное обеспечение от этих ребят:
Существует коммерческий продукт
MySqlAdministrator имеет некоторые полезные функции сборки (включая просмотр журналов), но для журналов он должен запускаться на том же компьютере, что и база данных