REPAIR TABLE w MySQL

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Co to jest REPAIR TABLE w MySQL?

REPAIR TABLE to polecenie służące do próby naprawy uszkodzonych tabel w MySQL. Jest używane wtedy, gdy tabela ma błędy w strukturze lub indeksach i nie działa poprawnie.

Najczęściej kojarzy się je z silnikiem MyISAM. W praktyce trzeba pamiętać, że nie każda tabela i nie każdy silnik bazy obsługuje naprawę w ten sam sposób.

Do czego służy?

Polecenie może pomóc, gdy:
- tabela została uszkodzona,
- pojawiają się błędy odczytu danych,
- uszkodzone są indeksy,
- serwer został niepoprawnie wyłączony.

Przykład:

REPAIR TABLE klienci;

Można też naprawiać kilka tabel:

REPAIR TABLE klienci, zamowienia;

Ważne ograniczenia

REPAIR TABLE nie jest uniwersalnym sposobem naprawy całej bazy danych. Trzeba pamiętać, że:
- działa głównie dla tabel MyISAM,
- dla InnoDB zwykle stosuje się inne metody,
- nie zastępuje kopii zapasowej,
- nie gwarantuje odzyskania wszystkich danych.

W nowoczesnych instalacjach MySQL często używa się silnika InnoDB, dlatego w razie awarii częściej korzysta się z:
- odtworzenia z backupu,
- eksportu i importu danych,
- przeniesienia danych do nowej bazy,
- narzędzi diagnostycznych serwera.

Znaczenie na egzaminie

W pytaniach egzaminacyjnych REPAIR lub REPAIR TABLE jest traktowane jako działanie, które może przyczynić się do naprawy uszkodzonej tabeli lub bazy. Nie zawsze rozwiąże problem, ale jest logiczną próbą naprawy.

Dla porównania:
- odtworzenie z kopii zapasowej – realna metoda naprawy,
- utworzenie nowej bazy i przeniesienie tabel – może pomóc obejść uszkodzenie,
- replikacja – służy do kopiowania danych między serwerami, a nie do naprawy uszkodzonej bazy.

Najważniejsze do zapamiętania

REPAIR TABLE to polecenie naprawcze dla tabel MySQL, szczególnie kojarzone z MyISAM. Jest próbą usunięcia uszkodzeń, ale nie zastępuje backupu i nie jest rozwiązaniem dla każdej awarii.