Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / incorrect key file / 25 сообщений из 54, страница 1 из 3
16.03.2014, 13:00:52
    #38587448
mihail_13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
incorrect key file
MySQL работал-работал, около 2 млрд запросов успешно выполнил, а потом сообщил incorrect key file

Программа сейчас не умеет обрабатывать ошибки MySQL, поэтому сразу аварийно завершилась, потеряв все результаты работы.

В чем искать причину повреждения индексного файла одной из таблиц во время работы и как с этим бороться?
...
Рейтинг: 0 / 0
16.03.2014, 14:03:16
    #38587480
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
incorrect key file
Можно начать с проверки наличия свободного места на диске, с изучения общего состояния сервера, файловой системы.
...
Рейтинг: 0 / 0
16.03.2014, 14:22:55
    #38587487
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
incorrect key file
vkleМожно начать с проверки наличия свободного места на дискеДобавлю, если временный каталог и база лежат на разных дисках, то проверять надо оба.
...
Рейтинг: 0 / 0
16.03.2014, 14:31:38
    #38587490
mihail_13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
incorrect key file
vkle,

Места на дисках достаточно, файловая система не повреждена.
При проверке всех таблиц, была найдена еще как минимум одна с поврежденным индексным файлом. Первый и второй поврежденные индексные файлы хранятся на разных дисках.

Что такое общее состояние сервера?
При работе программы нагрузка на процессор и жесткие диски близка к максимальной.
Тест памяти проходит без ошибок. (но он не может так нагрузить сервер)
...
Рейтинг: 0 / 0
16.03.2014, 14:34:05
    #38587493
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
incorrect key file
mihail_13,

таблицы с поврежденными индексами на каком движке?
...
Рейтинг: 0 / 0
16.03.2014, 14:36:04
    #38587495
mihail_13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
incorrect key file
miksoft,

"временный каталог" - это что?
Место для временных таблиц MySQL? Оно живет на tmpfs (некий аналог ram-disk)
Или что-то другое?
...
Рейтинг: 0 / 0
16.03.2014, 14:38:24
    #38587498
mihail_13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
incorrect key file
miksoft,

MyISAM
(индексные файлы восстановить не проблема, потеря данных произошла из-за аварийной остановки программы)
...
Рейтинг: 0 / 0
16.03.2014, 14:38:47
    #38587499
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
incorrect key file
mihail_13"временный каталог" - это что?в линуксе это /tmp, в Windows это куда указывает переменная окружения TEMP.
...
Рейтинг: 0 / 0
16.03.2014, 14:44:37
    #38587502
mihail_13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
incorrect key file
miksoft,

/tmp находится на том же диске что и индексный файл первой найденной поврежденной таблицы
Но в my.cfg для tmpdir указан путь на электронный диск
...
Рейтинг: 0 / 0
16.03.2014, 14:44:51
    #38587503
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
incorrect key file
mihail_13MyISAMну а чего ж вы хотите? не пользуетесь имеющимися механизмами транзакций - стройте свои.
...
Рейтинг: 0 / 0
16.03.2014, 14:46:46
    #38587505
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
incorrect key file
mihail_13Но в my.cfg для tmpdir указан путь на электронный дискА на нем место не заканчивалось?
...
Рейтинг: 0 / 0
16.03.2014, 14:54:01
    #38587509
mihail_13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
incorrect key file
Механизм защиты от потерь при аварийной остановке программы получается дороже самих потерь (в случае редких аварийных остановок), поэтому от него пришлось отказаться.
В MySQL хранится меньшая часть информации, поэтому его транзакции вообще ничему не помогут.
Диверсии с повреждением индексных файлов таблиц MySQL в список возможных причин аварийных остановок не включались.
(по ходу найден третий поврежденный индексный файл, на третьем диске - врятли стоит видить качество дисков)
...
Рейтинг: 0 / 0
16.03.2014, 14:56:21
    #38587510
mihail_13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
incorrect key file
miksoft,

Вполне возможно, что заканчивалось, но по завешению работы программы все временный таблицы были закрыты и сейчас там пусто.
Как узнать в этом ли проблема?
...
Рейтинг: 0 / 0
16.03.2014, 14:58:05
    #38587511
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
incorrect key file
Файлы могут быть повреждены в результате некорректной остановки СУБД. А некорректная остановка может быть вызвана какими-то событиями. Например, процесс стал жрать слишком много памяти и ОС его попросту кильнула.
...
Рейтинг: 0 / 0
16.03.2014, 15:01:08
    #38587516
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
incorrect key file
mihail_13miksoft,

Вполне возможно, что заканчивалось, но по завешению работы программы все временный таблицы были закрыты и сейчас там пусто.
Как узнать в этом ли проблема?Будете пересоздавать индексы - последите за этим диском.
...
Рейтинг: 0 / 0
16.03.2014, 15:05:59
    #38587518
mihail_13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
incorrect key file
vkle,

Если бы mysql вдруг пропал (на время перезапуска) программа бы сразу при запросе получила ответ что mysql отсутствует и до обнаружения поврежденной таблицы не дожила бы.
Этот вариант точно можно исключить, даже несмотря на то что у таблиц прописано DELAY_KEY_WRITE=1
...
Рейтинг: 0 / 0
16.03.2014, 15:12:27
    #38587522
mihail_13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
incorrect key file
miksoftmihail_13miksoft,

Вполне возможно, что заканчивалось, но по завешению работы программы все временный таблицы были закрыты и сейчас там пусто.
Как узнать в этом ли проблема?Будете пересоздавать индексы - последите за этим диском.
Это шутка? У меня не 286 процессор. Для повреждения надо его заполнения на очень короткое время. Даже если я повешу демона, то на 100% загруженном процессоре, он тоже может это событие не заметить. Надо как-то у mysql спрашивать было такое или не было.
...
Рейтинг: 0 / 0
16.03.2014, 15:44:32
    #38587535
mihail_13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
incorrect key file
За неделю непрерывной работы из 4096 таблиц было повреждено три. Вероятно в одно и то же время (поскольку запросы к ним идут очень часто и и прожить с битой таблицей удастся точно меньше минуты).
Поймать такое в реальном времени мало реалистично. (к тому же это далеко не первая неделя тестирования)
...
Рейтинг: 0 / 0
16.03.2014, 15:56:32
    #38587542
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
incorrect key file
mihail_13,

а насколько велики поврежденные индексы?
...
Рейтинг: 0 / 0
16.03.2014, 16:39:00
    #38587558
mihail_13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
incorrect key file
miksoft,

Небольшие, каждый индексный файл примерно 2.5Mb
...
Рейтинг: 0 / 0
16.03.2014, 16:41:01
    #38587560
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
incorrect key file
mihail_13miksoft,

Небольшие, каждый индексный файл примерно 2.5MbТогда да, на рамдиске заметить не успеете.

В логах системы и MySQL ничего криминального не обнаружено? Перезагрузок, ошибок ?
...
Рейтинг: 0 / 0
16.03.2014, 16:50:51
    #38587564
mihail_13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
incorrect key file
miksoft,

В системном ничего полезного не нашел, а лог mysql найти не удалось.
Указанный в my.cfg путь не существует, незнаю куда его mysql в такой ситуации кладет.
...
Рейтинг: 0 / 0
17.03.2014, 06:16:44
    #38587768
javajdbc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
incorrect key file
mihail_13miksoft,

В системном ничего полезного не нашел, а лог mysql найти не удалось.
Указанный в my.cfg путь не существует, незнаю куда его mysql в такой ситуации кладет.

SHOW VARIABLES LIKE '%log%'
...
Рейтинг: 0 / 0
17.03.2014, 12:25:40
    #38588028
mihail_13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
incorrect key file
Код: text
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
+---------------------------------+----------------------+
| Variable_name                   | Value                |
+---------------------------------+----------------------+
| back_log                        | 50                   |
| binlog_cache_size               | 32768                |
| expire_logs_days                | 0                    |
| innodb_flush_log_at_trx_commit  | 1                    |
| innodb_locks_unsafe_for_binlog  | OFF                  |
| innodb_log_arch_dir             |                      |
| innodb_log_archive              | OFF                  |
| innodb_log_buffer_size          | 262144               |
| innodb_log_file_size            | 5242880              |
| innodb_log_files_in_group       | 2                    |
| innodb_log_group_home_dir       | ./                   |
| innodb_mirrored_log_groups      | 1                    |
| log                             | OFF                  |
| log_bin                         | OFF                  |
| log_bin_trust_function_creators | OFF                  |
| log_error                       |                      |
| log_queries_not_using_indexes   | OFF                  |
| log_slave_updates               | OFF                  |
| log_slow_queries                | OFF                  |
| log_warnings                    | 1                    |
| max_binlog_cache_size           | 18446744073709547520 |
| max_binlog_size                 | 1073741824           |
| max_relay_log_size              | 0                    |
| relay_log                       |                      |
| relay_log_index                 |                      |
| relay_log_info_file             | relay-log.info       |
| relay_log_purge                 | ON                   |
| relay_log_space_limit           | 0                    |
| sync_binlog                     | 0                    |
+---------------------------------+----------------------+
...
Рейтинг: 0 / 0
17.03.2014, 12:31:54
    #38588040
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
incorrect key file
mihail_13,

Поищите файлы с расширением .err по всем дискам, начиная с каталога базы.

http://dev.mysql.com/doc/refman/5.5/en/error-log.html On Unix and Unix-like systems, mysqld writes error log messages as follows:

Without --log-error, mysqld writes error messages to the console.

With --log-error[=file_name], mysqld writes error messages to an error log file. The server uses the named file if present, creating it in the data directory unless an absolute path name is given to specify a different directory. If no file is named, the default name is host_name.err in the data directory.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / incorrect key file / 25 сообщений из 54, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]