Есть ли какой-либо запрос / способ показать последние запросы, выполненные на ВСЕХ серверах?
471
Для тех, кто благословлен MySQL> = 5.1.12, вы можете управлять этой опцией глобально во время выполнения:
SET GLOBAL log_output = 'TABLE';
SET GLOBAL general_log = 'ON';
mysql.general_log
Если вы предпочитаете выводить в файл вместо таблицы:
SET GLOBAL log_output = "FILE";
по умолчанию .SET GLOBAL general_log_file = "/path/to/your/logfile.log";
SET GLOBAL general_log = 'ON';
Я предпочитаю этот метод для редактирования файлов .cnf, потому что:
my.cnf
файл и, возможно, постоянно включаете ведение журнала/var/log /var/data/log
/opt /home/mysql_savior/var
Для получения дополнительной информации см. Справочное руководство по MySQL 5.1 - Системные переменные сервера - general_log
Вы можете включить общий журнал запросов для такого рода диагностики. Как правило, вы не регистрируете все запросы SELECT на производственном сервере, хотя это снижает производительность.
Отредактируйте конфигурацию MySQL, например /etc/mysql/my.cnf - найдите или добавьте строку, подобную этой
Перезапустите mysql, чтобы получить это изменение, теперь вы можете
Эй, Presto, вы можете наблюдать за запросами по мере их поступления.
источник
Вы можете сделать текущую вещь для мониторинга журналов запросов MySQL.
Откройте файл конфигурации mysql my.cnf
Найдите следующие строки под
[mysqld]
заголовком и раскомментируйте эти строки, чтобы включить журналПерезапустите сервер MySQL для отражения изменений
Мониторинг лога сервера mysql с помощью следующей команды в терминале
источник
источник
1) Если включено общее ведение журнала mysql, то мы можем проверить запросы в файле журнала или таблице на основе того, что мы упомянули в конфигурации. Проверьте, что включено с помощью следующей команды
Если нам нужна история запросов в таблице, то
Взгляните на таблицу mysql.general_log
Если вы предпочитаете выводить в файл:
2) Мы также можем проверить запросы в файле .mysql_history cat ~ / .mysql_history
источник
Может быть, вы могли бы узнать это, посмотрев журнал запросов .
источник
Если mysql binlog включен, вы можете проверить команды, запущенные пользователем, выполнив следующую команду в консоли Linux, перейдя в каталог mysql binlog
что позволяет
или общий журнал будет влиять на производительность MySQL
источник
Если вы не хотите менять конфигурацию MySQL, вы можете использовать профилировщик SQL, например «Neor Profile SQL» http://www.profilesql.com .
источник
Прочитав ответ Пола, я продолжал копать для получения дополнительной информации на https://dev.mysql.com/doc/refman/5.7/en/query-log.html
Я нашел действительно полезный код от человека. Вот краткое изложение контекста.
(Примечание: следующий код не мой)
Этот скрипт является примером для поддержания чистоты таблицы, который поможет вам уменьшить размер таблицы. Как и после дня, будет около 180 тыс. Запросов журнала. (в файле это будет 30 МБ в день)
Вам нужно добавить дополнительный столбец (event_unix), а затем вы можете использовать этот скрипт для поддержания чистоты журнала ... он обновит временную метку в Unix-timestamp, удалит журналы старше 1 дня и затем обновит event_time в Timestamp из event_unix ... звучит немного запутанно, но работает отлично.
Команды для нового столбца:
Скрипт очистки:
Кредит идет к Себастьяну Кайзеру (Оригинальный автор кода).
Надеюсь, кто-то найдет это полезным, как и я.
источник
Вы можете посмотреть на следующее в Linux
vi .mysql_history
Может помочьисточник