Podsumowanie: W tym artykule wymieniono niektóre z typowych błędów, które mogą wystąpić, gdy tabela MySQL zostanie uszkodzona. Przedstawia również możliwe przyczyny uszkodzenia tabeli bazy danych MySQL. W artykule wyjaśniono również, co możesz zrobić, aby naprawić uszkodzone tabele i w jaki sposób oprogramowanie do naprawy bazy danych MySQL może się przydać do odzyskania danych w tabeli i wszystkich innych obiektach bazy danych.
Jako użytkownik bazy danych MySQL możesz napotkać dowolny z tych błędów:
- „Stół jest oznaczony jako uszkodzony i powinien zostać naprawiony”
- „Tabela uległa awarii i ostatnia naprawa nie powiodła się”
- „Tabela nazwa_tabeli nie istnieje”
- „Nieprawidłowy plik klucza dla tabeli:‘…’. Spróbuj to naprawić” itp.
To są znaki ostrzegawcze, że twoja tabela MySQL jest uszkodzona.
Co powoduje uszkodzenie w tabeli bazy danych MySQL?
Oto możliwe przyczyny prowadzące do uszkodzenia tabeli bazy danych MySQL:
- Problemy w podstawowej platformie używanej przez MySQL, w tym podsystem dyskowy, sterowniki, kontrolery itp.
- Nagłe zamknięcie systemu lub awaria serwera
- Proces MySQL zostaje zabity w trakcie zapisywania do bazy danych
- Błąd oprogramowania lub awaria sprzętu
Napotkanie któregokolwiek z tych błędów uszkodzenia MySQL może spowodować, że dane w tabelach będą niedostępne. Porozmawiajmy o rozwiązaniach naprawienia uszkodzonych stołów.
Jak naprawić błędy związane z uszkodzeniem bazy danych MySQL?
Jeśli masz zaktualizowaną kopię zapasową bazy danych, przywróć bazę danych z kopii zapasowej, aby odzyskać niedostępne dane tabeli. Jeśli kopia zapasowa nie jest dostępna, wykonaj kroki w poniższej kolejności, aby naprawić uszkodzone tabele MySQL i odzyskać dane:
Uwaga: Wykonaj kopię zapasową bazy danych i tabel MySQL, aby zapobiec dalszym uszkodzeniom podczas procesu naprawy i odzyskiwania.
Krok 1:Sprawdź tabelę pod kątem błędu
Najpierw musisz sprawdzić tabelę bazy danych pod kątem błędów związanych z uszkodzeniem. Możesz skorzystać z SPRAWDŹ TABELI polecenie do diagnozowania uszkodzonych tabel InnoDB i MyISAM:
SPRAWDŹ TABELĘ opcja nazwa_tabeli; |
W tym miejscu zastąp „tbl_name” nazwą uszkodzonej tabeli bazy danych. I zastąp „opcję” dowolną z tych opcji:SZYBKI, SZYBKI, ŚREDNI, ROZSZERZONY i ZMIENIONY.
Opcja | Opis |
SZYBKO | Przeprowadza szybszą naprawę tabel InnoDB i MyISAM. Pomija skanowanie wierszy w poszukiwaniu nieprawidłowych linków |
SZYBKO | Sprawdzaj tylko tabele MyISAM, które nie zostały poprawnie zamknięte. Nie stosuj do tabel InnoDB. |
ZMIENIONO | Sprawdzaj tylko tabele MyISAM, które nie zostały zamknięte od czasu ostatniego sprawdzenia. Nie stosuj do tabel InnoDB. |
ŚREDNI | Sprawdź, czy usunięte linki są prawidłowe, skanując wiersze. Dotyczy tylko tabel MyISAM. |
ROZSZERZONY | Wykonuje pełne wyszukiwanie kluczy dla wszystkich kluczy w każdym wierszu tabeli MyISAM. Wykonanie zajmuje dużo czasu. |
Aby sprawdzić więcej niż jedną tabelę pod kątem uszkodzeń, użyj następującego polecenia:
SPRAWDŹ TABELĘ nazwa_tabeli1, nazwa_tabeli2, nazwa_tabeli 3 opcja; |
Uwaga: Polecenia CHECK TABLE można używać tylko wtedy, gdy uruchomiony jest proces MySQL. Jeśli jednak proces/serwer nie działa, możesz użyć następującego polecenia „myisamchk”, aby sprawdzić tabele MyISAM pod kątem uszkodzeń:
myisamchk [opcje] nazwa_tabeli …
To polecenie sprawdza pojedynczą tabelę.
Wykonaj następujące polecenie, aby sprawdzić wszystkie tabele w bazie danych MySQL pod kątem uszkodzeń:
myisamchk /ścieżka/do/katalogu danych/*/*.MYI
Narzędzie myisamchk nie działa z tabelami InnoDB.
Krok 2:Napraw uszkodzoną tabelę
Uwaga: Polecenie myisamchk dotyczy tylko tabel MyISAM i nie działa w przypadku tabel InnoDB. Aby naprawić i odzyskać tabelę Innodb, przejdź do kroku 3.
Narzędzie myisamchk może również pomóc w naprawie uszkodzonej (uszkodzonej) tabeli MyISAM. Aby użyć narzędzia do naprawy uszkodzonego stołu, wykonaj następujące czynności:
- Zatrzymaj usługę MySQL, wpisując:
usługa mysqld stop cd /var/lib/mysql |
- Przejdź do katalogu, w którym znajduje się baza danych.
cd /var/lib/mysql/table_name myisamchk
|