Danas je MySQL jedno od najpopularnijih rješenja među malim i srednjim sustavima za upravljanje bazama podataka. Jedna od prednosti MySQL-a je sposobnost rada s tablicama različitih vrsta. Jedan od njih je MyISAM. Takve tablice izvrsne su za pohranu često traženih podataka, ali ako ne uspiju tijekom postupka izmjene, mogu se lako oštetiti. Stoga često postoje slučajevi kada trebate vratiti tablicu tipa MyISAM.
Potrebno
- - root vjerodajnice na ciljnom stroju;
- - instaliran paket uslužnih programa za administraciju MySQL poslužitelja.
Upute
Korak 1
Započnite sesiju s vjerodajnicama root korisnika na računalu s funkcionalnim MySQL poslužiteljem koji izvodi bazu podataka za koju se vjeruje da ima oštećene tablice. Ako možete izravno raditi s ciljnim računalom, prijavite se na tekstualnu konzolu ili pokrenite emulator terminala kao root. Ako imate udaljeni SSH pristup, upotrijebite odgovarajući klijentski program za uspostavu veze.
Korak 2
Zaustavite MySQL poslužitelj baze podataka na ciljnom stroju. Pokrenite naredbu usluge mysqld stop. Pričekajte da se postupak isključivanja dovrši (to će biti označeno dijagnostičkom porukom).
3. korak
Stvorite sigurnosnu kopiju datoteka tablice baze podataka koja će se koristiti za daljnji rad. U ovom je slučaju prikladno koristiti upravitelj datoteka. Dođite do mape koja sadrži datoteke tablice. Ima ime identično nazivu baze podataka i nalazi se u db direktoriju koji se nalazi u korijenskom direktoriju poslužitelja (adresiranom chroot varijablom konfiguracijske datoteke my.cnf). Kopirajte sve datoteke s nastavcima MYD i MYI iz trenutne mape u neki privremeni direktorij.
4. korak
Provjerite postoji li oštećenje jedne ili više tablica baze podataka. U trenutnom direktoriju pokrenite naredbu myisamchk s opcijom -c (ili uopće nema mogućnosti) za normalno skeniranje. Koristite opciju -m za pažljivo testiranje, a opciju -e za izuzetno pažljivo testiranje. Kao zadnji parametar navedite ime ili masku imena datoteka koje će se obrađivati. Na primjer: myisamchk -c test_table. MYImyisamchk *. MYI
Korak 5
Vratite tablicu ili tablice na kojima je pronađena šteta. Pokrenite naredbu myisamchk s opcijom -r za normalan oporavak ili opcijom -o za nježni oporavak. Kao posljednji parametar, kao u prethodnom koraku, dodajte ime ili masku imena ciljnih tablica. Na primjer: myisamchk -o test_table. MYI
Korak 6
Pokrenite MySQL poslužitelj. Pokrenite naredbu usluge mysqld start.
Korak 7
Završite sesiju. Unesite naredbu exit i pritisnite Enter.