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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SHOW VARIABLES LIKE '%log%'
...
Рейтинг: 0 / 0
incorrect key file
    #38588028
mihail_13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: 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
incorrect key file
    #38588040
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
25 сообщений из 54, страница 1 из 3
Форумы / MySQL [игнор отключен] [закрыт для гостей] / incorrect key file
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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