Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 12936|Risposta: 0

[Fonte] Ti insegno come usare Myisamchk per il recupero in caso di crash MySQL

[Copiato link]
Pubblicato su 15/11/2017 13:23:05 | | |

"tbl_name.frm" tabella definizione (tabella) file "tbl_name. MYD "File Dati" tbl_name. Informazione"
Ognuno di questi 3 tipi di file può soffrire di diverse forme di corruzione, ma il problema si presenta più spesso nei file dati e nei file indice.
il mio isamchk crea un ". MYD" (dati) funziona, funziona rimuovendo il vecchio . MYD e rinominare il nuovo file con il nome originale per terminare la fase di riparazione. Se usi --quick, myisamchk non crea un temporaneo ". MYD", solo per supporre". MYD" è corretta e crea solo un nuovo file indice, senza toccarlo". MYD", che è sicuro perché myisamchk rileva automaticamente". MYD" è corrotto e in questo caso, abbandona la riparazione. Puoi anche dare a myisamchk due opzioni rapide. In questo caso, myisamchk non rinuncia ad alcuni errori (come ripetere le chiavi), ma cerca invece di modificare il ". MYD" per risolverli. Di solito è utile solo se implementi una correzione normale con troppo poco spazio libero su disco, usando le due opzioni rapide. In questo caso, dovresti almeno fare un backup prima di eseguire myisamchk.
1. Come controllare gli errori nella tabella
Per controllare una tabella, usa il seguente comando:
il mio isamchk tbl_name
Questo rileva il 99,99% di tutti gli errori. Quello che non può scoprire è che la corruzione è coinvolta solo nei file dati (cosa rara). Se vuoi controllare una tabella, di solito dovresti eseguire myisamchk senza l'opzione oppure usare una delle opzioni -s o --silent.
myisamchk -e tbl_name
Effettua un controllo dei dati completamente approfondito (-e significa "controllo esteso"). Effettua un controllo di lettura per chiave su ogni riga per confermare che puntino effettivamente alla linea corretta. Questo può richiedere molto tempo su un tavolo grande con molte chiavi. MyISAMCHK di solito si ferma dopo aver trovato il primo errore. Se vuoi maggiori informazioni, puoi aggiungere l'opzione --verbose(-v). Questo fa sì che myisamchk continui fino a un massimo di 20 errori. In generale, un semplice myisamchk (senza argomenti diversi dal nome della tabella) è sufficiente.
my isamchk -e -i tbl_name
Come nel comando precedente, ma l'opzione -i dice a myisamchk di stampare anche alcune statistiche.
2. Come riparare il tavolo
Il sintomo di una tabella corrotta è solitamente una rottura inaspettata della query, e puoi vedere, ad esempio, questi errori:
"tbl_name.frm" è bloccato e non può essere modificato.
Non riesco a trovare il file "tbl_name. MYI"(Errcode :### )。
Ricevi l'errore ### dal processore di tabella (in questo caso, l'errore 135 è un'eccezione).
Fine del file inaspettato.
I file di registrazione furono distrutti.
In questi casi, devi sistemare il tavolo. Myisamchk di solito rileva e corregge la maggior parte dei problemi che vanno male.
Il processo di riparazione consiste in un massimo di 4 fasi, descritte di seguito. Prima di iniziare, dovresti scaricare i permessi di accesso alla directory del database e ai file della checklist per assicurarti che siano leggibili dagli utenti Unix che usano MySQL (e da te, dato che hai bisogno di accedere al file che stai controllando). Se si rifiuta di modificare il file, devono essere scrivibili anche per te.
Fase 1: Controlla la tua tabella
Correre
il mio isamchk *. MYI
oppure (myisamchk -e *. A me, se hai più tempo). Usa l'opzione -s (silenzio) per disabilitare le informazioni non necessarie.

Il formato di file utilizzato da MySQL per memorizzare i dati è stato ampiamente testato, ma ci sono sempre condizioni esterne che possono causare la corruzione delle tabelle del database:
Il processo mysqld viene bloccato in una sola scrittura; Un spegnimento inaspettato del computer (ad esempio, se il computer perde l'alimentazione); Un errore hardware.
Questo capitolo descrive come verificare e gestire la corruzione dei dati in un database MySQL. Se il tuo tavolo è molto danneggiato, dovresti cercare di capire il perché! Vedi G.1 Debugging a MySQL server.
Quando si effettua il recupero in caso di crash, è importante capire che ogni tabella in un database tbl_name corrisponde ai 3 file presenti nella directory del database




Precedente:mysql #1062 – Voce duplicata '1' per la chiave 'PRIMARY'
Prossimo:MySQL visualizza le istruzioni SQL eseguite in tempo reale
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com