mysql 5.5 general_log не останется выключенным
Недавно я обнаружил, что мой general_log включен, и он сгенерировал файл журнала 400 ГБ. Ой.. Тогда я попытался выключить его.
во время работы я ввел "SET GLOBAL general_log = OFF" и, конечно же, выключил его. До следующего перезапуска MySQL, и он снова включился!
Я посмотрел на my.cnf, и там не было ничего о general_log, которое могло бы его включить, поэтому для большей безопасности я добавил general_log=0 под заголовком [mysqld]. Я перезапустил mysql снова и, конечно же, general_log снова включен!!!
Затем я отредактировал /etc/sysconfig/mysqld и добавил --general_log=0 в командную строку и перезапустил mysql...
> /etc/init.d/mysqld restart
/etc/sysconfig/mysqld: line 10: --general_log=0: command not found
Stopping mysqld: [ OK ]
Starting mysqld: [ OK ]
Хорошо, так что он жаловался на это, но, УСПЕХ, общий журнал, наконец, отключен! Но это просто неправильно. Нам не нравятся сообщения об ошибках, даже если он видит этот параметр командной строки и использует его просто отлично.
Итак, три вопроса..
- почему исправление my.cnf не работает?
- почему бы отключить его изнутри MySQL не держать его
- почему он требует параметр командной строки, на который он жалуется, но все же принимает.
Я использую версию сервера: 5.5.30-cll на CentOS 5.9
Буду признателен за любую помощь, которую вы можете дать.. Google просто не находит ответы на этот вопрос.
2 ответа
По этому поводу есть сообщение об ошибке, и утверждается, что исправление появилось. Однако бывают случаи, когда исправления применяются к будущим второстепенным выпускам. В отчете об ошибке утверждается, что это было исправлено в MySQL 5.5.9, но вы видите эту проблему в MySQL 5.5.30.
Однажды я ответил на вопрос в DBA StackExchange, где исправление ошибки репликации пропустило выпуск. Я также ответил на другой вопрос, где отсутствует функция SLEEP при запуске init-скрипта. Я подозреваю, что пропущенный патч там тоже.
РЕШЕНИЕ
Вместо этого
[mysqld]
general-log=0
попробуйте это закомментировать
[mysqld]
#general-log=0
и перезапуск MySQL
По этому вопросу:
> I recently discovered that my general_log was turned on and it had generated a 400gb log file
> So, three questions..
>
> why would the my.cnf fix not work?
> why would turning it off from within mysql not keep it off
> why would it require the command line option that it complains about but yet accepts.
Я "обнаружил" эту проблему после обновления MySQL 5.1 до версии 5.6 и "мучился" с этой проблемой в течение нескольких недель, ожидая разумной причины для этого "странного" поведения (даже если поступает так, как описано ниже!) От кого-то из MySQL Команда поддержки и другие форумы, к сожалению, без ответов.
С уважением, делаем "SET GLOBAL general_log = 'OFF';" и "SET GLOBAL slow_query_log = 'OFF';" не решил это, ПОСТОЯННО!
Затем я попытался поставить последнюю точку в этом выпуске, изменив некоторые параметры в файле MY.INI, который находился в той же папке, куда я помещал базы данных MySQL, например:
# General and Slow logging.
log-output=FILE
general-log=0 <--- HERE !
general_log_file="NATCOMP7.log"
slow-query-log=0 <--- And HERE !
slow_query_log_file="NATCOMP7-slow.log"
long_query_time=10
Что ж, это решило эту "проблему" в одной среде Windows.
НТН