7.9.1.7 Создание тестового случая при повреждении таблицы
Следующая процедура применяется к таблицам MyISAM. Информацию о действиях при повреждении таблицы см. в разделе 1.6 «Как сообщать об ошибках или проблемах».
Если вы столкнулись с поврежденными таблицами MyISAM или если mysqld всегда завершается сбоем после некоторых обновлений, вы можете проверить воспроизводимость проблемы, выполнив следующие действия:
Остановите демона MySQL с помощью mysqladmin shutdown.
Создайте резервную копию таблиц, чтобы защититься от маловероятного случая, когда восстановление приведет к повреждению.
Проверьте все таблицы с помощью myisamchk -s database/*.MYI. Восстановите поврежденные таблицы с помощью myisamchk -r database/
table.MYI.Создайте вторую резервную копию таблиц.
Удалите (или перенесите) старые файлы журналов из каталога данных MySQL, если вам нужно больше места.
Запустите mysqld с включенным двоичным журналом. Если вы хотите найти операцию, которая приводит к сбою mysqld, также включите общий журнал запросов. См. раздел 7.4.3 «Общий журнал запросов» и раздел 7.4.4 «Двоичный журнал».
После того, как таблица дала сбой, остановите сервер mysqld.
Восстановите резервную копию.
Запустите сервер mysqld без включенного двоичного журнала.
Повторите выполнение операторов с помощью mysqlbinlog binary-log-file | mysql. Двоичный журнал сохраняется в каталоге базы данных MySQL с именем
hostname-bin..NNNNNNЕсли таблицы снова повреждены или вы можете заставить mysqld завершиться сбоем с помощью приведенной выше команды, вы обнаружили воспроизводимую ошибку. Отправьте таблицы и двоичный журнал в нашу базу данных ошибок, используя инструкции, приведенные в разделе 1.6 «Как сообщать об ошибках или проблемах». Если вы являетесь клиентом поддержки, вы можете использовать центр поддержки MySQL (https://www.mysql.com/support/), чтобы сообщить команде MySQL о проблеме и ускорить ее исправление.
© 2025 Oracle
Licensed under the GPLv2 License.