Come il ripristino dei dati MySQL

Ad un certo punto, una delle tabelle del database MySQL potrebbero danneggiarsi e inutilizzabile. E 'insolito, ma succede. Ad esempio, un problema hardware o di un arresto del computer imprevisto può causare tabelle danneggiate. A volte, un'anomalia nei dati che confonde MySQL può causare tabelle corrotte. In alcuni casi, un tavolo corrotto può causare il server MySQL a chiudere.

Ecco un messaggio di errore tipico che segnala una tabella danneggiata:

File di chiave errato per la tabella: 'tablename'.

È possibile sostituire la tabella (s) corrotto con i dati memorizzati in una copia di backup.

Tuttavia, in alcuni casi, il database potrebbe essere perso completamente. Ad esempio, se il computer su cui risiede il database si rompe e non può essere risolto, il database corrente è perso - ma i dati non è andato per sempre. È possibile sostituire il computer rotto con un nuovo computer e ripristinare il database da una copia di backup.

È possibile sostituire la tabella del database corrente (s) con il database che avete memorizzato in una copia di backup. La copia di backup contiene un'istantanea dei dati come lo era quando è stata effettuata la copia. Naturalmente, non si ottiene nessuna delle modifiche al database da quando è stata effettuata la copia di backup; è necessario ricreare tali modifiche manualmente.

Se si accede MySQL attraverso un reparto IT o tramite una società di web hosting, è necessario chiedere all'amministratore di MySQL per ripristinare il database da un backup. Se sei l'amministratore di MySQL, è possibile ripristinare da soli.

Si crea un database creando il database e quindi aggiungere le tabelle nel database. Il backup creato dall'utilità mysqldump è un file che contiene tutte le istruzioni SQL necessarie per ricostruire le tabelle, ma non contiene le dichiarazioni necessarie per creare il database stesso.

Per ripristinare il database dal file di backup, è necessario innanzitutto modificare il file di backup (che è un file di testo). Quindi, si utilizza il client mysql per creare il database dalle istruzioni SQL nel file di backup.

In primo luogo, si modifica il file di backup nel seguente modo:

  1. Aprire il file di backup in un editor di testo.
  2. Individuare la riga che mostra le versioni server.
  3. Se si vuole ricostruire un intero database, aggiungere la seguente istruzione al di sotto della linea che si individua in Fase 2:

    CREATE DATABASE SE NON ESISTE databasename
  4. Sotto la riga al punto 3, aggiungere una specifica linea di quale database per aggiungere le tabelle per:

    USO databasename

  5. Controllare i blocchi di dichiarazioni che ricostruiscono le tabelle.

    Se non si desidera ricostruire un tavolo, aggiungere - (due trattini) all'inizio di ogni riga che ricostruisce la tabella. I trattini segnano le linee come commenti.

  6. Controllare le linee INSERT per ogni tabella.

    Se non si desidera aggiungere i dati a tutte le tabelle, commentare le righe che inserire i dati.
  7. Salvare il file di backup modificato.

Dopo che il file di backup contiene le istruzioni che si desidera utilizzare per ricostruire il database o il tavolo (s), è possibile utilizzare il client mysql per eseguire le istruzioni SQL nel file di backup. Basta seguire questi passaggi:

  1. Da un prompt dei comandi, passare alla sottodirectory bin nella directory in cui è installato MySQL.

    In Windows, si apre una finestra di prompt dei comandi per utilizzare il client mysql.

    Digitare un comando cd per passare alla directory corretta. Ad esempio, è possibile digitare cd / usr / local / mysql / bin o cd c: \ Programmi \ MySQL \ MySQL Server 5.0 \ bin.

  2. Digitare il comando (che invia le query SQL nel file di backup):

    mysql -u accountname -p <percorso / BackupFileName

    Si sostituisce accountname con un account che ha privilegi CREATE. Se l'account non richiede una password, lasciare fuori la -p. Se si utilizza il -p, verrà chiesta la password. Utilizzare l'intero percorso e il nome del file di backup. Ad esempio, è possibile utilizzare questo comando per ripristinare il database ProductCatalog:

radice mysql -u -p <c: \ Programmi \ MySQL \ MySQL Server 5.0 \ bin \ bak \ ProductCatalog.bak

Le tabelle possono prendere un breve tempo per ripristinare. Attendere che il comando alla fine. Se si verifica un problema, viene visualizzato un messaggio di errore. Se non si verificano problemi, non si vede l'uscita. Quando il comando è terminato, viene visualizzato il prompt.

Il database è ora ripristinato con tutti i dati che era in essa, al momento la copia è stata fatta. Se i dati è cambiato da quando è stata fatta la copia, si perde tali modifiche. Per esempio, se è stato aggiunto più dati è stata effettuata dopo la copia di backup, i nuovi dati non è ripristinato. Se si conoscono le modifiche apportate dopo la creazione del backup, si può fare manualmente nel database ripristinato.