Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 12936|Vastaus: 0

[Lähde] Opettaa sinua käyttämään Myisamchkia MySQL:n kaatumispalautukseen

[Kopioi linkki]
Julkaistu 15.11.2017 13.23.05 | | |

"tbl_name.frm" taulun määrittely (taulukko) tiedosto "tbl_name. MYD "Data File" tbl_name. MYI" -indeksitiedosto
Jokainen näistä kolmesta tiedostotyypistä voi kärsiä erilaisista korruptiomuodoista, mutta ongelma ilmenee useimmiten tieto- ja indeksitiedostoissa.
Myisamchk luo ". MYD" (data) -tiedosto toimii, se toimii poistamalla vanhan ". MYD-tiedosto ja nimeä uusi tiedosto alkuperäiseksi tiedostoksi korjausvaiheen päättymiseksi. Jos käytät --quickia, myisamchk ei luo väliaikaista ". MYD"-tiedostoa, oletan vain". MYD" -tiedosto on oikein ja luo vain uuden indeksitiedoston koskematta". MYD"-tiedosto, joka on turvallinen, koska myisamchk tunnistaa automaattisesti". MYD"-tiedosto on vioittunut ja tässä tapauksessa korjaus on hylätty. Voit myös antaa myisamchkille kaksi nopeaa vaihtoehtoa. Tässä tapauksessa myisamchk ei luovuta joistakin virheistä (kuten näppäinten toistosta), vaan yrittää muokata ". MYD"-tiedosto ratkaistakseen ne. Yleensä se on hyödyllinen vain, jos toteutat normaalin korjauksen liian vähäiselle vapaalle levytilalle käyttäen kahta nopeaa vaihtoehtoa. Tässä tapauksessa sinun pitäisi ainakin tehdä varmuuskopio ennen myisamchkin käynnistämistä.
1. Kuinka tarkistaa taulukon virheet
Taulukon tarkistamiseksi käytä seuraavaa komentoa:
Myisamchk tbl_name
Tämä kattaa 99,99 % kaikista virheistä. Mitä se ei pysty selvittämään, on se, että korruptiota tapahtuu vain tietotiedostoissa (mikä on harvinaista). Jos haluat tarkistaa taulukon, sinun kannattaa yleensä ajaa myisamchk ilman vaihtoehtoa tai käyttää jompaakumpaa -s- tai --silent-vaihtoehtoa.
myisamchk -e tbl_name
Se tekee täysin perusteellisen datatarkistuksen (-e tarkoittaa "laajennettua tarkistusta"). Se tarkistaa jokaiselle riville avainkohtaisen lukutarkistuksen varmistaakseen, että ne osoittavat oikeaan riviin. Tämä voi kestää kauan suurella pöydällä, jossa on paljon avaimia. Myisamchk pysähtyy yleensä löydettyään ensimmäisen virheen. Jos haluat lisätietoja, voit lisätä --verbose(-v) -vaihtoehdon. Tämä saa myisamchkin jatkumaan enintään 20 virheeseen. Yleiskäytössä yksinkertainen myisamchk (ilman argumentteja paitsi taulukon nimi) riittää.
Myisamchk -e -I tbl_name
Kuten edellinen komento, mutta -i-vaihtoehto käskee myisamchkia tulostamaan myös joitakin tilastoja.
2. Kuinka korjata pöytä
Vioittuneen taulun oire on yleensä odottamaton kyselykatko, ja esimerkiksi nämä virheet näkyvät:
"tbl_name.frm" on lukittu eikä sitä voi muuttaa.
En löydä tiedostoa "tbl_name. MYI"(Errcode :### )。
Saat virheen ### tauluprosessorilta (tässä tapauksessa virhe 135 on poikkeus).
Yllättävä tiedoston loppu.
Asiakirjat tuhottiin.
Näissä tapauksissa sinun täytyy korjata pöytä. Myisamchk yleensä havaitsee ja korjaa suurimman osan virheistä.
Korjausprosessi koostuu enintään neljästä vaiheesta, jotka kuvataan alla. Ennen kuin aloitat, sinun tulisi CD-luottaa oikeudet tietokantahakemistoihin ja tarkistuslistatiedostoihin, jotta ne ovat luettavissa Unix-käyttäjille, jotka käyttävät mysqld:tä (ja sinulle, koska tarvitset pääsyn tarkistamaasi tiedostoon). Jos se kieltäytyy muokkaamasta tiedostoa, niiden täytyy olla myös kirjoitettavissa.
Vaihe 1: Tarkista taulukkosi
Juokse
myisamchk *. MYI
tai (myisamchk -e *. Muistaa, jos sinulla on enemmän aikaa). Käytä -s (hiljaisuus) -vaihtoehtoa poistaaksesi tarpeettoman tiedon käytöstä.

MySQL:n datan tallentamiseen käytettävää tiedostomuotoa on testattu laajasti, mutta aina on olemassa ulkoisia olosuhteita, jotka voivat aiheuttaa tietokantataulujen vioittumisen:
MySQLD-prosessi kuolee yhdellä kirjoituksella; Tietokoneen odottamaton sammutus (esimerkiksi, jos koneesta katkea virta); Laitteistovirhe.
Tässä luvussa kuvataan, miten MySQL-tietokannassa tarkistetaan ja käsitellään tietojen korruptiota. Jos pöytäsi on vaurioitunut paljon, sinun kannattaa yrittää selvittää miksi! Katso G.1 MySQL-palvelimen virheenkorjaus.
Kaatumispalautusta tehdessä on tärkeää ymmärtää, että jokainen tietokannan taulu tbl_name vastaa tietokantahakemiston kolmea tiedostoa




Edellinen:mysql #1062 – Kaksoismerkintä '1' avaimelle 'PRIMARY'
Seuraava:MySQL tarkastelee SQL-lauseita, jotka suoritetaan reaaliajassa
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com