MySQLBackup con mysqldump


Sintassi

  • mysqldump -u [nome utente] -p [password] [altre opzioni] nome_db> dumpFileName.sql /// Per eseguire il backup di un singolo database
  • mysqldump -u [nome utente] -p [password] [altre opzioni] nome_db [nome_tbl tbl_nome2 nome_tbl2 ...]> dumpFileName.sql /// Per eseguire il backup di una o più tabelle
  • mysqldump -u [nome utente] -p [password] [altre opzioni] - database db_name1 db_name2 nome_db3> dumpFileName.sql /// Per eseguire il backup di uno o più database completi
  • mysqldump -u [nome utente] -p [password] [altre opzioni] --all-databases> dumpFileName.sql /// Per eseguire il backup dell'intero server MySQL

Parametri

Opzione Effetto
- # Opzioni di accesso al server
-h ( --host ) Host (indirizzo IP o nome host) a cui connettersi. L'impostazione predefinita è localhost ( 127.0.0.1 ) Esempio: -h localhost
-u ( --user ) Utente MySQL
-p ( --password ) Password MySQL. Importante : quando si utilizza -p , non deve esserci uno spazio tra l'opzione e la password. Esempio: -pMyPassword
- # Opzioni di scarico
--add-drop-database Aggiungi un'istruzione DROP DATABASE prima di ogni istruzione CREATE DATABASE . Utile se si desidera sostituire i database nel server.
--add-drop-table Aggiungi un'istruzione DROP TABLE prima di ogni istruzione CREATE TABLE . Utile se si desidera sostituire le tabelle nel server.
--no-create-db Sopprimere le istruzioni CREATE DATABASE nel dump. Ciò è utile quando sei sicuro che il (i) database (i) che stai scaricando esiste già (s) nel server in cui caricerai il dump.
-t ( --no-create-info ) Elimina tutte le istruzioni CREATE TABLE nel dump. Ciò è utile quando si desidera scaricare solo i dati dalle tabelle e utilizzerà il file di dump per popolare tabelle identiche in un altro database / server.
-d ( --no-data ) Non scrivere informazioni sulla tabella. Questo scaricherà solo le istruzioni CREATE TABLE . Utile per creare database "modello"
-R ( --routines ) Includere stored procedure / funzioni nel dump.
-K ( --disable-keys ) Disabilitare le chiavi per ogni tabella prima di inserire i dati e abilitare le chiavi dopo aver inserito i dati. Ciò accelera gli inserimenti solo nelle tabelle MyISAM con indici non univoci.

Osservazioni

L'output di un'operazione mysqldump è un file leggermente commentato contenente istruzioni SQL sequenziali compatibili con la versione delle utilità MySQL utilizzate per generarlo (con attenzione alla compatibilità con le versioni precedenti, ma nessuna garanzia per quelle future). Pertanto, il ripristino di un database mysqldump ed include l'esecuzione di tali istruzioni. Generalmente, questo file

  • DROP s la prima tabella o vista specificata
  • CREATE s quella tabella o vista
  • Per le tabelle scaricate con dati (cioè senza l'opzione --no-data )
    • LOCK il tavolo
    • INSERT tutte le righe della tabella originale in un'unica istruzione
  • UNLOCK TABLES
  • Ripete il precedente per tutte le altre tabelle e viste
  • DROP s la prima routine inclusa
  • CREATE questa routine
  • Ripete lo stesso per tutte le altre routine

La presenza del DROP prima di CREATE per ogni tabella indica che se lo schema è presente, indipendentemente dal fatto che sia vuoto o meno, l'utilizzo di un file mysqldump per il suo ripristino compila o sovrascrive i dati in esso contenuti.

Backup con mysqldump Esempi correlati