2015-07-28 2 views
6

Я запустил веб-сайт WordPress. Сегодня я обнаружил, что таблица wp_posts разбилась. Когда я попытался отремонтировать стол, я получил следующую ошибку:Ошибка восстановления таблицы Mysql: «Невозможно создать новый временный файл»

REPAIR TABLE wp_posts;

Ошибка Не удается создать новый временный файл:

Рабочее состояние ремонта «./[databasename]/wp_posts.TMD» не удалось

Я попытался запустить следующую команду в оболочке:

затсЫс -r -f wp_posts.MYI

ошибка: Файл «wp_posts.MYI» не существует

можете ли вы сказать мне, что еще я могу попробовать это исправить проблема?

ответ

23

Оказалось, что «myisamchk -r -f wp_posts.MYI» было правильным решением. Мне просто нужно было пойти в папку с данными.

В моей системе CentOS, я изменил направление /var/lib/mysql/[database]/ и нашел wp_posts.MYI

После удаления этого файла, ремонт был успешным.

+0

это сработало для меня без .myi, спасибо! –

+0

тоже работал для меня! Но кто-то знает, почему это происходит? Я не хочу снова делать это хахаха –

1

Попробуйте добавить следующую строку в файл WP-config.php:

define('WP_ALLOW_REPAIR', true); 

Затем перейдите к: /wp-admin/maint/repair.php

Это должно вступить в силу и автоматически ремонтируйте разбитый стол.

+0

Большое спасибо за Ваш ответ –

+1

После того, как вы сделали ремонт, не забудьте удалить эту строку из файла сор-config.php. URL/wp-admin/maint/repair.php доступен для пользователей, не прошедших проверку подлинности. – consuela

5

Попробуйте остановить свой сервис с помощью следующей команды sudo service mysql stop

Теперь сделать чек РЕМОНТА myisamchk -r -f -o /var/lib/mysql/DatabaseName/wp_posts

Запустите службу и наслаждайтесь!

Это работает для меня