Tabela jest oznaczona jako rozbita i powinna zostać naprawiona

191

Otrzymuję ten błąd w programie wordpress phpMyadmin

#145 - Table './DB_NAME/wp_posts' is marked as crashed and should be repaired 

Kiedy loguję się do phpMyadmin, mówi, że wp_posts jest „w użyciu”

Moja witryna jest obecnie niedostępna z tego powodu.

Przejrzałem ten problem, ale nie widzę przycisku „napraw” na phpMyadmin. Daj mi znać, jak to naprawić. Nie jestem pewien, gdzie wydać polecenie PHP. Proszę o poradę, moja znajomość PHP jest bardzo podstawowa.

John Connor
źródło

Odpowiedzi:

215

Oto, gdzie jest przycisk naprawy:

alternatywny tekst

Nican
źródło
183

Uruchom to z wiersza poleceń swojego serwera:

 mysqlcheck --repair --all-databases
tylerl
źródło
45
Aby uniknąć błędu „odmowa dostępu”, może być konieczne dodanie nazwy użytkownika i hasła do tego polecenia. mysqlcheck -uroot -p --repair --all-databasesi podaj hasło.
wruckie 27.04.16
120

Miałem ten sam problem, gdy moje wolne miejsce na dysku dla serwera wyniosło 0

Możesz użyć polecenia (musi być wystarczająco dużo miejsca na pliki mysql)

REPAIR TABLE `<table name>`;

do naprawy pojedynczych stolików

Arun Killu
źródło
Pomocne, miałem ten problem ze stołem UC Drupal v7.6x, który nagle się zagrał; wydał komendę REPAIR TABLE jak wyżej w konsoli SQL phpMyAdmin i naprawił to. Dzięki Bogu za stackoverflow !! Twoje zdrowie!
Paul B
25

Połącz się z serwerem za pośrednictwem SSH

następnie połącz się z konsolą MySQL

i

USE user_base
REPAIR TABLE TABLE;

-LUB-

Jeśli w bieżącej bazie danych jest wiele uszkodzonych tabel:

mysqlcheck -uUSER -pPASSWORD  --repair --extended user_base

Jeśli w wielu bazach danych jest dużo uszkodzonych tabel:

mysqlcheck -uUSER -pPASSWORD  --repair --extended -A
Nedudi
źródło
2
Nie umieszczaj haseł w wierszu poleceń, są one następnie zapisywane w historii w niezabezpieczony sposób i lokalizacji. Polecenia mysql pozwalają przekazać parametr -psam, a następnie poprosi o podanie hasła.
Thierry J.
7

Kiedy dostaję ten błąd:

# 145 - Tabela „. \ Engine \ phpbb3_posts” jest oznaczony jako rozbity i powinien zostać naprawiony

Uruchomiłem to polecenie w PhpMyAdmin, aby to naprawić:

REPAIR TABLE phpbb3_posts;
RasoolLotfi
źródło
6

Oznacza to, że twoja tabela MySQL jest uszkodzona i musisz ją naprawić. Posługiwać się

myisamchk -r /DB_NAME/wp_posts

z linii poleceń. Podczas przeprowadzania naprawy należy tymczasowo zamknąć witrynę, aby podczas próby naprawy nie było żadnych nowych połączeń z bazą danych.

Dmitri
źródło
Poprosiłem o to w powyższym komentarzu, ale myślę, że jest wylogowany, więc proszę o to ponownie. „Wielkie dzięki, moja strona jest ponownie dostępna online. Jedno pytanie, ponieważ baza danych została uszkodzona i ponownie ją naprawiłem, czy powinienem się o coś martwić? Czy powinienem sprawdzić, czy spowodowało to uszkodzenie? wszystkiego?"
John Connor,
Nie powinieneś się o nic martwić. Gdy baza danych zostanie naprawiona, twoja strona znów będzie działać. W pewnym momencie może zostać ponownie uszkodzony, zdarza się, po prostu napraw go ponownie. Rób też regularnie kopie zapasowe, a wszystko będzie dobrze
Dmitri