Задать вопрос
@Raz1el

Как починить mysql?

Последствия необъяснимой силы добавили мне гемороя.
Проблема - сервак дома стоит, на нем писал сайт. CMS-Wordpres.
И тут в один прекрасный день, после выходных захожу, а сайт выдает 404 ошибку.
При том 404 - вордпресовская, и в админку заходит, плагины видит.
я захожу в phpmyadmin, и только таблица wp-post выдает ошибку
#1812 - Tablespace is missing for table `name_base`.`wp_posts`.

затем я нажал на кнопку Структура, и получил ответ внизу страницы:

Notice in ./libraries/sql-parser/src/Parser.php#383
Trying to get property of non-object

Backtrace

./libraries/sql-parser/src/Parser.php#336: SqlParser\Parser->parse()
./libraries/controllers/TableStructureController.class.php#347: SqlParser\Parser->__construct(boolean false)
./tbl_structure.php#48: PMA\Controllers\TableStructureController->indexAction()

и

Notice in ./libraries/controllers/TableStructureController.class.php#352
Undefined offset: 0

Backtrace

./tbl_structure.php#48: PMA\Controllers\TableStructureController->indexAction()

в окне операции

Notice in ./tbl_operations.php#419
Undefined offset: 0

Backtrace


Гугление не дало положительного результата, т.к. не силен в англ. а на русском не могу найти.
Есть идеи?
  • Вопрос задан
  • 3374 просмотра
Подписаться 1 Оценить 3 комментария
Ответ пользователя Максим Гришин К ответам на вопрос (2)
vesper-bot
@vesper-bot
Любитель файрволлов
По ссылке:
Нужно зайти в каталог с базой данных (ищите каталог с файлами .ibd), и ищите файл .bak, соответствующий таблице wp_posts, которая ошибку кидает, и копируйте его с именем .ibd. Не найдется - будете учиться делать бэкапы.

Про бэкапы отдельная история. Надо будет как минимум забэкапать базу данных как целое, потом файлы от таблицы, которая поломалась (заодно выяснить, а сколько их поломалось), потом смотреть-искать, как восстанавливать tablespace файл, если вообще MySQL это хоть как-то умеет.
Ответ написан