Назад | Перейти на главную страницу

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  ]

Хорошо, он жаловался на это, но, УСПЕХ, общий журнал наконец отключен !! Но это просто неправильно ... Нам не нравятся сообщения об ошибках, даже если он видит эту опцию командной строки и прекрасно ее использует.

Итак, три вопроса ..

  1. почему исправление my.cnf не работает?
  2. почему отключение его изнутри mysql не отключает его
  3. зачем ему параметр командной строки, на который он жалуется, но все же принимает.

Я использую версию сервера: 5.5.30-cll на CentOS 5.9

Буду признателен за любую помощь, которую вы можете дать .. Поиск в Google просто не может найти ответы на этот вопрос.

По этому поводу:

> 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';" и «УСТАНОВИТЬ 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.

HTH

По этому поводу есть отчет об ошибке, и утверждается, что вошел патч. Однако бывают случаи, когда патчи применяются к будущим второстепенным выпускам. В отчете об ошибке утверждается, что она была исправлена ​​в MySQL 5.5.9, но вы видите эту проблему в MySQL 5.5.30.

Я однажды ответил на вопрос в DBA StackExchange где исправление ошибки репликации пропустило выпуск. Я также ответил на другой вопрос где функция SLEEP отсутствует при запуске сценария инициализации. Я подозреваю, что там пропущенный патч.

РЕШЕНИЕ

Вместо этого

[mysqld]
general-log=0

попробуйте прокомментировать это

[mysqld]
#general-log=0

и перезапуск mysql