Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 12936|Odgovoriti: 0

[Vir] Naučil te bom, kako uporabljati Myisamchk za okrevanje po sesutju v MySQL

[Kopiraj povezavo]
Objavljeno na 15. 11. 2017 13:23:05 | | |

"tbl_name.frm" definicija tabele (tabela) datoteka "tbl_name. MYD "Data File" tbl_name. MYI" indeksna datoteka
Vsaka od teh treh vrst datotek lahko trpi zaradi različnih oblik poškodb, vendar se težava najpogosteje pojavlja v podatkovnih datotekah in indeksnih datotekah.
myisamchk ustvari ". MYD" (data) datoteka deluje, deluje tako, da odstrani staro ". Datoteko MYD in preimenujem novo datoteko v izvirno ime, da zaključimo fazo popravila. Če uporabite --quick, myisamchk ne ustvari začasnega ". MYD" datoteke, samo predvidevam". MYD" je pravilen in ustvari le novo indeksno datoteko, brez dotikanja". MYD", kar je varno, ker myisamchk samodejno zazna". MYD" je poškodovana in v tem primeru opustite popravilo. Myisamchk lahko ponudite tudi dve – hitre možnosti. V tem primeru myisamchk ne opusti nekaterih napak (kot so ponavljajoče se tipke), temveč poskuša spremeniti ". MYD" za njihovo rešitev. Običajno je uporaben le, če uporabite običajno rešitev na premalo prostega prostora na disku, z uporabo dveh -- hitrih možnosti. V tem primeru bi moral vsaj narediti varnostno kopijo, preden zaženeš myisamchk.
1. Kako preveriti napake v tabeli
Za preverjanje tabele uporabite naslednji ukaz:
myisamchk tbl_name
Ta zajame 99,99 % vseh napak. Kar ne more ugotoviti, je, da je korupcija prisotna le v podatkovnih datotekah (kar je redko). Če želiš preveriti tabelo, običajno zaženi myisamchk brez te možnosti ali uporabi eno od -s ali --tihih možnosti.
myisamchk -e tbl_name
Opravi popolnoma temeljito preverjanje podatkov (-e pomeni "razširjeno preverjanje"). Vsako vrstico preveri za vsako vrstico, da potrdi, da kažejo na pravilno vrstico. To lahko traja dolgo na veliki mizi z veliko tipkami. myisamchk se običajno ustavi, ko najde prvo napako. Če želite več informacij, lahko dodate možnost --verbose(-v). To pomeni, da myisamchk nadaljuje do največ 20 napak. V splošni rabi je preprost myisamchk (brez argumentov razen imena tabele) zadosten.
myisamchk -e -i tbl_name
Kot pri prejšnjem ukazu, vendar možnost -i pove myisamchku, naj napiše nekaj statistike.
2. Kako popraviti mizo
Simptom poškodovane tabele je običajno nepričakovan prekinitev poizvedbe, in na primer lahko opazite naslednje napake:
"tbl_name.frm" je zaklenjen in ga ni mogoče spremeniti.
Ne najdem datoteke "tbl_name. MYI"(Errcode :### )。
Iz tabelnega procesorja pridobimo napako ### (v tem primeru je napaka 135 izjema).
Nepričakovan konec datoteke.
Datoteke zapisov so bile uničene.
V takih primerih morate mizo popraviti. myisamchk običajno zazna in popravi večino stvari, ki gredo narobe.
Postopek popravila obsega do 4 stopnje, opisane spodaj. Preden začneš, bi moral CD-jem dati dovoljenja za mapo baze podatkov in datoteke kontrolnega seznama, da se prepričaš, da so berljive za Unix uporabnike, ki uporabljajo mysqld (in za tebe, saj potrebuješ dostop do datoteke, ki jo preverjaš). Če noče spreminjati datoteke, morajo biti datoteke tudi zapisljive na vas.
Faza 1: Preverite svojo mizo
Beži
myisamchk *. MYI
ali (myisamchk -e *. MYI, če imaš več časa). Uporabite možnost -s (tišina) za onemogočanje nepotrebnih informacij.

Datotečni format, ki ga MySQL uporablja za shranjevanje podatkov, je bil obsežno testiran, vendar obstajajo vedno zunanji pogoji, ki lahko povzročijo poškodbe tabel baze podatkov:
proces mysqld je ubit z enim zapisom; Nepričakovano izklop računalnika (na primer, če računalnik izgubi napajanje); Strojna napaka.
To poglavje opisuje, kako preveriti in obravnavati poškodbe podatkov v MySQL bazi podatkov. Če je vaša miza močno poškodovana, poskusite ugotoviti, zakaj! Glej G.1 Debuggging a MySQL strežnik.
Pri okrevanju po zrušitvi je pomembno razumeti, da tbl_name vsaka tabela v podatkovni bazi ustreza trem datotekam v mapi baze podatkov




Prejšnji:mysql #1062 –Dvojni vnos '1' za ključ 'PRIMARY'
Naslednji:MySQL prikazuje SQL stavke, ki se izvajajo v realnem času
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com