|
|
|
incorrect key file
|
|||
|---|---|---|---|
|
#18+
MySQL работал-работал, около 2 млрд запросов успешно выполнил, а потом сообщил incorrect key file Программа сейчас не умеет обрабатывать ошибки MySQL, поэтому сразу аварийно завершилась, потеряв все результаты работы. В чем искать причину повреждения индексного файла одной из таблиц во время работы и как с этим бороться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2014, 13:00:52 |
|
||
|
incorrect key file
|
|||
|---|---|---|---|
|
#18+
Можно начать с проверки наличия свободного места на диске, с изучения общего состояния сервера, файловой системы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2014, 14:03:16 |
|
||
|
incorrect key file
|
|||
|---|---|---|---|
|
#18+
vkleМожно начать с проверки наличия свободного места на дискеДобавлю, если временный каталог и база лежат на разных дисках, то проверять надо оба. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2014, 14:22:55 |
|
||
|
incorrect key file
|
|||
|---|---|---|---|
|
#18+
vkle, Места на дисках достаточно, файловая система не повреждена. При проверке всех таблиц, была найдена еще как минимум одна с поврежденным индексным файлом. Первый и второй поврежденные индексные файлы хранятся на разных дисках. Что такое общее состояние сервера? При работе программы нагрузка на процессор и жесткие диски близка к максимальной. Тест памяти проходит без ошибок. (но он не может так нагрузить сервер) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2014, 14:31:38 |
|
||
|
incorrect key file
|
|||
|---|---|---|---|
|
#18+
mihail_13, таблицы с поврежденными индексами на каком движке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2014, 14:34:05 |
|
||
|
incorrect key file
|
|||
|---|---|---|---|
|
#18+
miksoft, "временный каталог" - это что? Место для временных таблиц MySQL? Оно живет на tmpfs (некий аналог ram-disk) Или что-то другое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2014, 14:36:04 |
|
||
|
incorrect key file
|
|||
|---|---|---|---|
|
#18+
miksoft, MyISAM (индексные файлы восстановить не проблема, потеря данных произошла из-за аварийной остановки программы) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2014, 14:38:24 |
|
||
|
incorrect key file
|
|||
|---|---|---|---|
|
#18+
mihail_13"временный каталог" - это что?в линуксе это /tmp, в Windows это куда указывает переменная окружения TEMP. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2014, 14:38:47 |
|
||
|
incorrect key file
|
|||
|---|---|---|---|
|
#18+
miksoft, /tmp находится на том же диске что и индексный файл первой найденной поврежденной таблицы Но в my.cfg для tmpdir указан путь на электронный диск ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2014, 14:44:37 |
|
||
|
incorrect key file
|
|||
|---|---|---|---|
|
#18+
mihail_13MyISAMну а чего ж вы хотите? не пользуетесь имеющимися механизмами транзакций - стройте свои. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2014, 14:44:51 |
|
||
|
incorrect key file
|
|||
|---|---|---|---|
|
#18+
mihail_13Но в my.cfg для tmpdir указан путь на электронный дискА на нем место не заканчивалось? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2014, 14:46:46 |
|
||
|
incorrect key file
|
|||
|---|---|---|---|
|
#18+
Механизм защиты от потерь при аварийной остановке программы получается дороже самих потерь (в случае редких аварийных остановок), поэтому от него пришлось отказаться. В MySQL хранится меньшая часть информации, поэтому его транзакции вообще ничему не помогут. Диверсии с повреждением индексных файлов таблиц MySQL в список возможных причин аварийных остановок не включались. (по ходу найден третий поврежденный индексный файл, на третьем диске - врятли стоит видить качество дисков) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2014, 14:54:01 |
|
||
|
incorrect key file
|
|||
|---|---|---|---|
|
#18+
miksoft, Вполне возможно, что заканчивалось, но по завешению работы программы все временный таблицы были закрыты и сейчас там пусто. Как узнать в этом ли проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2014, 14:56:21 |
|
||
|
incorrect key file
|
|||
|---|---|---|---|
|
#18+
Файлы могут быть повреждены в результате некорректной остановки СУБД. А некорректная остановка может быть вызвана какими-то событиями. Например, процесс стал жрать слишком много памяти и ОС его попросту кильнула. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2014, 14:58:05 |
|
||
|
incorrect key file
|
|||
|---|---|---|---|
|
#18+
mihail_13miksoft, Вполне возможно, что заканчивалось, но по завешению работы программы все временный таблицы были закрыты и сейчас там пусто. Как узнать в этом ли проблема?Будете пересоздавать индексы - последите за этим диском. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2014, 15:01:08 |
|
||
|
incorrect key file
|
|||
|---|---|---|---|
|
#18+
vkle, Если бы mysql вдруг пропал (на время перезапуска) программа бы сразу при запросе получила ответ что mysql отсутствует и до обнаружения поврежденной таблицы не дожила бы. Этот вариант точно можно исключить, даже несмотря на то что у таблиц прописано DELAY_KEY_WRITE=1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2014, 15:05:59 |
|
||
|
incorrect key file
|
|||
|---|---|---|---|
|
#18+
miksoftmihail_13miksoft, Вполне возможно, что заканчивалось, но по завешению работы программы все временный таблицы были закрыты и сейчас там пусто. Как узнать в этом ли проблема?Будете пересоздавать индексы - последите за этим диском. Это шутка? У меня не 286 процессор. Для повреждения надо его заполнения на очень короткое время. Даже если я повешу демона, то на 100% загруженном процессоре, он тоже может это событие не заметить. Надо как-то у mysql спрашивать было такое или не было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2014, 15:12:27 |
|
||
|
incorrect key file
|
|||
|---|---|---|---|
|
#18+
За неделю непрерывной работы из 4096 таблиц было повреждено три. Вероятно в одно и то же время (поскольку запросы к ним идут очень часто и и прожить с битой таблицей удастся точно меньше минуты). Поймать такое в реальном времени мало реалистично. (к тому же это далеко не первая неделя тестирования) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2014, 15:44:32 |
|
||
|
incorrect key file
|
|||
|---|---|---|---|
|
#18+
mihail_13, а насколько велики поврежденные индексы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2014, 15:56:32 |
|
||
|
incorrect key file
|
|||
|---|---|---|---|
|
#18+
miksoft, Небольшие, каждый индексный файл примерно 2.5Mb ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2014, 16:39:00 |
|
||
|
incorrect key file
|
|||
|---|---|---|---|
|
#18+
mihail_13miksoft, Небольшие, каждый индексный файл примерно 2.5MbТогда да, на рамдиске заметить не успеете. В логах системы и MySQL ничего криминального не обнаружено? Перезагрузок, ошибок ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2014, 16:41:01 |
|
||
|
incorrect key file
|
|||
|---|---|---|---|
|
#18+
miksoft, В системном ничего полезного не нашел, а лог mysql найти не удалось. Указанный в my.cfg путь не существует, незнаю куда его mysql в такой ситуации кладет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2014, 16:50:51 |
|
||
|
incorrect key file
|
|||
|---|---|---|---|
|
#18+
mihail_13miksoft, В системном ничего полезного не нашел, а лог mysql найти не удалось. Указанный в my.cfg путь не существует, незнаю куда его mysql в такой ситуации кладет. SHOW VARIABLES LIKE '%log%' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2014, 06:16:44 |
|
||
|
incorrect key file
|
|||
|---|---|---|---|
|
#18+
Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2014, 12:25:40 |
|
||
|
incorrect key file
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2014, 12:31:54 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38588040&tid=1835006]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 356ms |

| 0 / 0 |
