Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 12936|Svare: 0

[Kilde] Lære deg hvordan du bruker Myisamchk for krasjgjenoppretting MySQL

[Kopier lenke]
Publisert på 15.11.2017 13:23:05 | | |

"tbl_name.frm" tabelldefinisjon (tabell) fil "tbl_name. MYD "Datafil" tbl_name. MYI"-indeksfil
Hver av disse tre filtypene kan lide av ulike former for korrupsjon, men problemet oppstår oftest i datafiler og indeksfiler.
myisamchk lager en ". MYD" (data)-filen fungerer, fungerer den ved å fjerne den gamle ". MYD-filen og gi den nye filen nytt navn til det opprinnelige filnavnet for å avslutte reparasjonsfasen. Hvis du bruker --quick, lager ikke myisamchk en midlertidig ". MYD"-fil, bare antar". MYD"-filen er korrekt og oppretter kun en ny indeksfil, uten å røre". MYD"-fil, som er trygg fordi myisamchk automatisk oppdager". MYD"-filen er korrupt og i dette tilfellet, forlat reparasjonen. Du kan også gi myisamchk to – raske alternativer. I dette tilfellet gir ikke myisamchk opp noen feil (som gjentakende taster), men prøver i stedet å endre ". MYD"-filen for å løse dem. Vanligvis er det bare nyttig hvis du implementerer en normal løsning på for lite ledig diskplass, ved å bruke de to – hurtigalternativene. I dette tilfellet bør du i det minste lage en backup før du kjører myisamchk.
1. Hvordan sjekke feilene i tabellen
For å sjekke en tabell, bruk følgende kommando:
Myisamchk tbl_name
Dette fanger opp 99,99 % av alle feil. Det den ikke kan finne ut, er at korrupsjon kun er involvert i datafiler (noe som er uvanlig). Hvis du vil sjekke en tabell, bør du vanligvis kjøre myisamchk uten valgmuligheten, eller bruke enten -s eller --stille alternativene.
myisamchk -e tbl_name
Den utfører en fullstendig grundig datasjekk (-e betyr "utvidet sjekk"). Den gjør en lesekontroll per tast på hver linje for å bekrefte at de peker på riktig linje. Dette kan ta lang tid på et stort bord med mange nøkler. Myisamchk stopper vanligvis når den finner den første feilen. Hvis du vil ha mer informasjon, kan du legge til --verbose(-v)-alternativet. Dette gjør at myisamchk fortsetter til maksimalt 20 feil. I generell bruk er en enkel myisamchk (uten andre argumenter enn tabellnavnet) tilstrekkelig.
myisamchk -e -i tbl_name
Som den forrige kommandoen, men -i-alternativet forteller myisamchk å skrive ut noen statistikker også.
2. Hvordan reparere bordet
Symptomet på en korrupt tabell er vanligvis et uventet spørringsbrudd, og du kan for eksempel se disse feilene:
"tbl_name.frm" er låst og kan ikke endres.
Klarer ikke å finne filen "tbl_name. MYI"(Errkode :### )。
Få feil ### fra tabellprosessoren (i dette tilfellet er feil 135 et unntak).
Uventet filslutt.
Arkivfiler ble ødelagt.
I slike tilfeller må du fikse bordet. Myisamchk oppdager og fikser vanligvis det meste som går galt.
Reparasjonsprosessen består av opptil 4 trinn, beskrevet nedenfor. Før du starter, bør du CD-e tillatelser til databasekatalogen og sjekklistefiler for å sikre at de er lesbare for Unix-brukere som kjører mysqld (og for deg, siden du trenger tilgang til filen du sjekker). Hvis den nekter å endre filen, må de også være skrivbare for deg.
Fase 1: Sjekk tabellen din
Løp
myisamchk *. MYI
eller (myisamchk -e *. MYI, hvis du har mer tid). Bruk -s (stillhet) for å deaktivere unødvendig informasjon.

Filformatet som MySQL bruker for å lagre data er grundig testet, men det finnes alltid ytre forhold som kan føre til at databasetabeller blir ødelagt:
MySQLD-prosessen blir drept i én skriving; En uventet nedstengning av datamaskinen (for eksempel hvis datamaskinen mister strømmen); En maskinvarefeil.
Dette kapittelet beskriver hvordan man kan sjekke for og håndtere datakorrupsjon i en MySQL-database. Hvis bordet ditt er mye skadet, bør du prøve å finne ut hvorfor! Se G.1 Feilsøking av en MySQL-server.
Når man utfører krasjgjenoppretting, er det viktig å forstå at hver tabell i en database tbl_name tilsvarer de 3 filene i databasekatalogen




Foregående:mysql #1062 – Duplisert oppføring '1' for nøkkelen 'PRIMARY'
Neste:MySQL-visninger av SQL-setninger som utføres i sanntid
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com