У меня проблема с MySQL во FreeBSD.
Он создает множество двоичных файлов размером 1 ГБ каждые 20 минут и быстро заполняет свободное место на диске.
-rw-rw---- 1 mysql mysql 1073741982 2013-09-14 18:26 mysql-bin.000174
-rw-rw---- 1 mysql mysql 1073741890 2013-09-14 18:42 mysql-bin.000175
-rw-rw---- 1 mysql mysql 1073741988 2013-09-14 18:59 mysql-bin.000176
-rw-rw---- 1 mysql mysql 1073741964 2013-09-14 19:15 mysql-bin.000177
-rw-rw---- 1 mysql mysql 1073741974 2013-09-14 19:29 mysql-bin.000178
-rw-rw---- 1 mysql mysql 1073741923 2013-09-14 19:46 mysql-bin.000179
-rw-rw---- 1 mysql mysql 577143852 2013-09-14 19:59 mysql-bin.000180
Это происходит без какой-либо активности пользователей в Интернете. у меня есть max_binlog_file=526870912
в my.cnf
Я пытался сделать
freebsd# mysql -u root -p
mysql> flush logs;
mysql> flush master;
В результате все файлы mysql-bin удаляются, и отсчет начинается с mysql-bin.000001.
я shutdown -r now
тогда моя FreeBSD (mysql_enable = "YES" в rc.conf). MySQL работает, но снова начинает создавать bin-файлы размером 1 ГБ каждые 20 минут.
Mysql работает с targetniff и netams. Я остановил нетамс. И mysql перестал производить mysql-bin. файлы. Итак, проблема, по-видимому, между mysql и netams. Но пока не могу найти причину.
Когда я пытаюсь прочитать mysql-bin, есть несколько строк команды «mysqlbinlog mysql-bin.000179 | less». файл, который был создан до текущего.
'fw-sher1 # mysqlbinlog mysql-bin.000179 | Меньше
'/! 40019 НАБОР @@ session.max_insert_delayed_threads = 0/;
'/! 50003 НАБОР @OLD_COMPLETION_TYPE = @@ COMPLETION_TYPE, COMPLETION_TYPE = 0/; 'DELIMITER /!/;
'# в 4
'# 130915 11:27:20 идентификатор сервера 1 end_log_pos 98 Начало: binlog v 4, сервер v 5.0.81-журнал создан 130915 11:27:20
'Предупреждение: игнорирование Append_block, поскольку для file_id: 1417 нет события Create_file
'Предупреждение: игнорирование Append_block, поскольку для file_id: 1417 нет события Create_file
'Предупреждение: игнорирование Append_block, поскольку для file_id: 1417 нет события Create_file
'Предупреждение: игнорирование Append_block, поскольку для file_id: 1417 нет события Create_file
'# в 98
'# 130915 11:27:19 идентификатор сервера 1 end_log_pos 8313
'#Append_block: file_id: 1417 block_len: 8192
'# в 8313
'# 130915 11:27:19 идентификатор сервера 1 end_log_pos 16528
'#Append_block: file_id: 1417 block_len: 8192
'# в 16528
'# 130915 11:27:19 идентификатор сервера 1 end_log_pos 24743
'#Append_block: file_id: 1417 block_len: 8192
'# в 24743
'# 130915 11:27:19 идентификатор сервера 1 end_log_pos 32958
'#Append_block: file_id: 1417 block_len: 8192
'# в 32958
'# 130915 11:27:19 идентификатор сервера 1 end_log_pos 41173
'#Append_block: file_id: 1417 block_len: 8192
'# в 41173
'# 130915 11:27:19 идентификатор сервера 1 end_log_pos 82248
'#Append_block: Предупреждение: игнорирование Append_block, поскольку для file_id: 1417 нет события Create_file
'Предупреждение: игнорирование Append_block, поскольку для file_id: 1417 нет события Create_file
'Предупреждение: игнорирование Append_block, поскольку для file_id: 1417 нет события Create_file
И так далее, и так далее. Для меня это не имеет никакого смысла.
Что говорит netams.log
Файл: netams.log Строка 1006126 Столбец 0 180576689 байт 84%
13.09.2013 23: 59: 52.8916 источник данных: 1 [ПРЕДУПРЕЖДЕНИЕ]: получены следующие ОШИБКИ от MySQL: level = Error, code = 126, message = Неверный ключевой файл для таблицы './netams/monitor.MYI'; попробуй отремонтировать.
13.09.2013 23: 59: 52.8916 источник данных: 1 [ПРЕДУПРЕЖДЕНИЕ]: Получены следующие ОШИБКИ от MySQL: level = Error, code = 126, message = Неверный ключевой файл для таблицы './netams/monitor.MYI'; попробуй отремонтировать.
13.09.2013 23: 59: 52.8919 источник данных: 1 [ПРЕДУПРЕЖДЕНИЕ]: не удалось загрузить данные в sql для монитора, попробуйте «отладочное хранилище»
14.09.2013 00: 01: 20.0461 источник данных: 1 [WARN]: данные загрузки SQL: неверный ключевой файл для таблицы './netams/monitor.MYI'; попробуй отремонтировать это
14.09.2013 00: 01: 20.0464 источник данных: 1 [ПРЕДУПРЕЖДЕНИЕ]: Получены следующие ПРЕДУПРЕЖДЕНИЯ от MySQL: уровень = Предупреждение, код = 1262, сообщение = Строка 243 усечена; он содержал больше данных, чем входных столбцов.
14.09.2013 00: 01: 20.0464 источник данных: 1 [ПРЕДУПРЕЖДЕНИЕ]: Получены следующие ПРЕДУПРЕЖДЕНИЯ от MySQL: уровень = Предупреждение, код = 1262, сообщение = Строка 265 была усечена; он содержал больше данных, чем входных столбцов.
14.09.2013 00:01:20.0461 data-source:1 [WARN]: SQL Load data: Incorrect key file for table './netams/monitor.MYI'; try to repair it
14.09.2013 00:01:20.0464 data-source:1 [WARN]: Got the following WARNINGS from MySQL: level = Warning, code = 1262, message = Row 243 was truncated; it contained more data than there were input columns.
14.09.2013 00:01:20.0464 data-source:1 [WARN]: Got the following WARNINGS from MySQL: level = Warning, code = 1262, message = Row 265 was truncated; it contained more data than there were input columns.
Эта ошибка указывает на то, что в базе данных netams есть поврежденные таблицы. Обратите внимание на раздел, в котором говорится:Неверный ключевой файл для таблицы './netams/monitor.MYI'; попробуй отремонтировать это".
Исправление таблиц обычно можно выполнить с помощью нескольких команд. Восстановление таблицы может иногда приводить к потере данных, поэтому сначала сделайте резервную копию таблиц. Восстановление может занять некоторое время в зависимости от размера базы данных - иногда может показаться, что восстановление зависает на 10-20 минут, но на самом деле оно незаметно сканирует поврежденные строки. Сделайте это во втором окне, чтобы вы могли следить за ним и набраться терпения.
Советы по ремонту таблиц см. В руководстве по MySQL: