[Исправлено] Ошибка MySQL: «Подсистема хранения таблицы не поддерживает восстановление»

MySQL предлагает различные утилиты и команды для восстановления поврежденных таблиц и баз данных. Однако некоторые команды и утилиты поддерживают восстановление таблиц и баз данных, созданных в определенной поисковой системе (MyISAM или InnoDB). Если вы попытаетесь восстановить таблицы с помощью команды или утилиты, несовместимой с конкретным механизмом хранения, вы можете столкнуться с ошибками и не сможете восстановить таблицы.
Одна из таких ошибок: «Подсистема хранения таблицы не поддерживает восстановление». Эта ошибка возникает, когда вы пытаетесь восстановить таблицу с помощью команды, не поддерживающей конкретный механизм хранения. Например, вы используете команду myisamchk для восстановления таблиц, созданных в механизме хранения InnoDB. В этой статье мы обсудим, как устранить ошибку: механизм хранения таблицы не поддерживает восстановление в MySQL.
Решения для устранения ошибки «Механизм хранения таблицы не поддерживает восстановление» в MySQL
Если вы столкнулись с такой ошибкой, то сначала проверяется ваша встреча, если вам нужно сначала проверить, исправляете ли вы таблицы в соответствии с механизмом хранения. Давайте посмотрим, какую команду или утилиту вы можете проверить в механизме хранения (MyISAM и InnoDB).
Для механизма хранения MyISAM
Чтобы восстановить таблицы MyISAM, вы можете выполнить следующие команды:
1: команда REPAIR TABLE
REPAIR TABLE — мощная команда, используемая для восстановления таблиц MyISAM. Эта команда может восстанавливать только одну таблицу одновременно. Вот как его использовать:
Имя таблицы REPAIR TABLE [параметры]
2: команда myisamchk
Вы также можете запустить утилиту myisamchk для восстановления таблиц MyISAM. Эта утилита извлекает все данные из поврежденных таблиц. Вот синтаксис использования команды myisamchk для восстановления таблиц MySQL:
myisamchk [ -восстанавливаться ] имя_таблицы …
Примечание.Эта команда может решить практически любую проблему в таблице, за исключением уникальных ключей, которые не являются уникальными.
для innodb horage engine
Для ремонта таблиц, созданных в двигателе innodb хранения, вы можете запустить приведенные ниже команды:
1- Команда альтер-таблицы
Чтобы восстановить таблицы Innodb, вы можете использовать команду Alter Table. Эта команда помогает вам предоставить новое имя в таблице, которое заставляет Innodb воссоздать его и восстановить все данные в ней. Эта команда также может помочь решить проблемы с коррупцией в таблице MySQL InnoDB. Вот как использовать эту команду:
Примечание: Перед использованием команды убедитесь, что у вас есть изменение, создание и вставьте привилегии для таблицы.
2- Команда mysqldump
Вы также можете использовать команду Mysqldump для восстановления таблиц Innodb, сбрасывая и перезаряжая их. Ниже приведены шаги, которые вы должны выполнить, чтобы сделать это:
Шаг 1: перезагрузить сервер mysql
Вам нужно сначала перезапустить сервер MySQL. Запустите ниже команду:
Служба перезапуска MySQL
Шаг 2: Используйте настройки innodb_force_recovery, чтобы запустить MySQL Server
Сервер может не запустить или сбой, когда он обнаруживает поврежденные таблицы Innodb. В этом случае вы можете использовать Force Innodb Recovery, чтобы восстановить вашу базу данных MySQL. Поисковая система MySQL имеет настройки InnoDB_FORCE_RECOVERY для настройки поведения MYSQL в процессе запуска. Вы можете использовать эти настройки, чтобы позволить серверу запускаться, даже если он обнаруживает поврежденные таблицы.
По умолчанию опция innodb_force_recovery не включена. Вы должны включить эту опцию из файла конфигурации. Для этого перейдите в файл конфигурации (my.cnf) в вашей системе.
Местоположение файла конфигурации может отличаться в зависимости от используемой вами операционной системы. В Windows вы можете найти файл конфигурации в каталоге «/etc». Путь по умолчанию -/etc/mysql/my.cnf.
Теперь откройте файл my.cnf, перейдите в раздел [mysqld], а затем измените существующие операторы со следующими операторами:
Служба перезапуска MySQL
Примечание:Приведенный выше шаг помогает вам запустить двигатель InnoDB, а затем сбросить таблицы. Вы можете установить значение innodb_force_recovery более чем на 4. Однако добавление значения к более чем 4 может привести к потере данных. Итак, сначала создайте резервную копию, а затем продолжайте.
Шаг 3: сбросить данные таблицы
Как только вы включили опцию innodb_force_recovery, вы можете легко получить доступ к таблице поврежденных или поврежденных. Далее используйте следующую команду, чтобы сбрасывать данные таблицы:
mysqldump -u user -p database_name table_name>single_dbtable_dump.sql
Шаг 4: Экспортируйте данные в файл dump.sql
Теперь экспортируйте данные в файл dump.sql, используя ниже команду:
mysqldump –ВС-датабазы –add-drop-database -add-drop-stable>dilmb.sql
Шаг 5: оставьте базу данных и отключите innodb recoveryрежим
После этого перезапустите сервер MySQL, а затем выпустите вашу базу данных, используя команду Drop Database.
Затем перейдите в тот же файл конфигурации [MySQLD], чтобы отключить режим innodb recovery. Для этого просто прокомментируйте следующую строку.
Теперь сохраните все примененные изменения в файле my.cnf, нажав Ctrl+S, а затем перезапустите свой сервер MySQL.
Вы можете следовать вышеуказанным командам и утилитам в зависимости от двигателя хранения (Innodb или Myisam), который вы используете. Это поможет предотвратить ошибку «Двигатель хранения для таблицы не поддерживает ремонт» при ремонте таблиц/базы данных.
Альтернативное решение для восстановления коррупционной базы данных/таблиц MySQL
Если вы хотите одно решение для ремонта таблиц, созданных как в двигателях Innodb, так и в Myisam Storage, вы можете использовать профессиональный инструмент ремонта MySQL, например, Звездный ремонт MySQL . Этот инструмент поддерживает как двигатели Innodb, так и Myisam хранения.
он может быстро восстановить все данные из коррумпированных таблиц, включая иностранные ключи, уникальные ключи и т. Д., С абсолютной точностью. Инструмент поддерживает выборочное восстановление объектов базы данных. Это позволяет сохранять ремонтные данные в нескольких форматах — MySQL, MariaDB и многое другое.
Заключение
Ошибка ‘Двигатель хранения для таблицы не поддерживает ремонт» — это ошибка двигателя хранения в MySQL. Если вы сталкиваетесь с этой ошибкой, убедитесь, что вы выполняете правильную команду ремонта в соответствии с механизмом хранения.
Выше, мы обсудили команды, которые вы можете использовать для ремонта таблиц MySQL в соответствии с двигателями хранения (Myisam и Innodb).
В качестве альтернативы вы можете использовать расширенную версию Инструмент восстановления MySQL — Stellar Repair for MySQL, чтобы без проблем восстановить таблицы InnoDB и MyISAM. Инструмент совместим с операционными системами Windows и Linux.