Naprawiałem tę tabelę, nagle serwer się zawiesił, a kiedy wróciłem, wszystkie tabele są w porządku, ale ten pokazuje, że jest używany, a kiedy próbuję naprawić, nie kontynuuje.
BŁĄD 144 - Tabela './extas_d47727/xzclf_ads' jest oznaczona jako awaria i ostatnia (automatyczna?) Naprawa nie powiodła się
Co mogę zrobić, żeby to naprawić?
Odpowiedzi:
Jeśli Twój proces MySQL jest uruchomiony, zatrzymaj go. W Debianie:
Przejdź do folderu danych. W Debianie:
Spróbuj biegać:
Jeśli to nie zadziała, możesz spróbować:
Możesz ponownie uruchomić serwer MySQL. W Debianie:
źródło
/var/lib/mysql/<database>
i biecmyisamchk -r -v -f ./<table name>
.myisam_sort_buffer_size is too small
błąd, więc to polecenie zadziałało:myisamchk -r -v --sort_buffer_size=2G <table_name>
Spróbuj uruchomić następujące zapytanie:
Miałem ten sam problem i to mnie rozwiązało.
źródło
Jeśli daje ci odmowę uprawnień podczas przenoszenia do / var / lib / mysql, użyj następującego rozwiązania
źródło
Musiałem dodać USE_FRM do oświadczenia o naprawie, aby działało.
źródło
Otrzymałem
myisamchk: error: myisam_sort_buffer_size is too small
jako błąd.Rozwiązanie
źródło
Przejdź do
data_dir
i usuńYour_table.TMP
plik po naprawie<Your_table>
tabeli.źródło
data_dir
?grep -r datadir /etc/mysql/
. Powinien znajdować się/var/lib/mysql
pod debianem i ubuntu.To jest 100% rozwiązanie. Sam tego spróbowałem.
myisamchk -r -v -f --sort_buffer_size = 128M --key_buffer_size = 128M / var / lib / mysql / databasename / tabloname
źródło
Wypróbowałem opcje w istniejących odpowiedziach, głównie tę oznaczoną jako poprawna, która nie działa w moim scenariuszu. Jednak to, co zadziałało, to użycie phpMyAdmin. Wybierz bazę danych, a następnie zaznacz tabelę, z rozwijanego menu dolnego wybierz opcję „Napraw tabelę”.
źródło