Как узнать, где и если журналы MYSQL5 хранятся на компьютере WHM/Cpanel
- У меня есть учетная запись хостинга перепродавца WHM/Cpanel на виртуальном частном сервере (Linux).
- У меня есть root-доступ к машине через SSH
Я пытаюсь найти файл, который содержит информацию, которая поможет мне определить, какие пользователи получили доступ к какой базе данных и с каких хостов.
Я думаю, что такие данные хранятся где-то в журнале.
На странице MySQL написано:
The general query log - Established client connections and statements received from clients
См. http://dev.mysql.com/doc/refman/5.0/en/server-logs.html
Это также говорит:
By default, all log files are created in the mysqld data directory.
Итак, я НЕ спрашиваю, где хранятся общие журналы журналов запросов (потому что я ожидаю, что получу ответы, говорящие "это зависит")
Пожалуйста, помогите мне разобраться:
"Как узнать, где хранятся общие журналы запросов MySQL на компьютере с Linux"
Несколько вещей, которые я уже пробовал:
я смотрел на
/etc/my.cnf
это был крошечный файл, который содержал только следующую информацию:
[mysqld]
skip-bdb
skip-innodb
set-variable = max_connections=500
safe-show-database
~
~
Я посмотрел в:
/var/lib/mysql/
Но я не мог видеть какие-либо похожие на лог имена файлов в этом каталоге.
Любые подсказки по этому вопросу будут приветствоваться.
4 ответа
Чтобы спросить MySQL, где хранятся общие журналы (и включены ли они), вы можете просто набрать:
show variables like 'general_log%';
В командную строку MySQL (или запустите запрос из phpmyadmin).
например
mysql> show variables like 'general_log%';
+------------------+----------------------------+
| Variable_name | Value |
+------------------+----------------------------+
| general_log | OFF |
| general_log_file | /var/run/mysqld/mysqld.log |
+------------------+----------------------------+
Я думаю, это то, что вы просите.
В Debian журналы mysql обычно хранятся в /var/log/mysql/. Производные, такие как Ubuntu, также будут иметь там логи. Если logrotate установлен, он будет хранить сжатые копии ежедневных журналов mysql в течение нескольких дней (это настраивается).
Я предполагаю, что другие дистрибутивы Linux могут иметь журналы в аналогичном месте, например / var / logs / что-то.
Как указывает serverninja, общий журнал отключен по умолчанию, поэтому вы должны включить его либо из my.cnf, либо из командной строки. Это сильно повредит производительности!
Вам необходимо включить общий журнал запросов специально в командной строке:
mysqld ... --log=[filename]
mysqld .. -l [filename]
Посмотрите на командную строку mysqld в выводе ps ax
чтобы определить, если и где ваш сервер регистрирует информацию.
FWIW, Местоположение по умолчанию для общего журнала это тот же каталог, что и файлы данных, и он называется [hostname].log
,
Примечание: если вы включите общий журнал запросов, он может очень быстро увеличиться.
Это должно быть в /var/lib/mysql/
ВКЛЮЧИТЬ свой общий журнал запросов