Mysqldump -all-database include tutti gli oggetti?


16

Non mysqldump -all-databasesincludere tutti gli oggetti?

Devo migrare tutti i database su un nuovo server.

Risposte:


21

Nessun mysqldump -all-database non include tutti gli oggetti

mysqldump --help

  -A, --all-databases Dump all the databases. This will be same as --databases
                      with all databases selected.

Quindi mysqldump con --all-databases esegue il dump di tutti i database.

Per migrare tutti i database su un nuovo server, è necessario eseguire un backup completo:

mysqldump un'intera istanza mysql

mysqldump -h... -u... -p... --events --routines --triggers --all-databases > MySQLData.sql

Lo svantaggio è che i backup creati in questo modo possono essere ricaricati solo nella stessa versione di rilascio principale di mysql con cui è stato generato mysqldump. In altre parole, un mysqldump - tutti i database di un database MySQL 5.0 non può essere caricato in 5.1 o 5.5. La ragione ? Lo schema mysql è totalmente diverso tra le versioni principali.

Ecco il modo generico per scaricare le sovvenzioni SQL per gli utenti che è leggibile e più portatile

mysql -h... -u... -p... --skip-column-names -A -e"SELECT CONCAT('SHOW GRANTS FOR ''',user,'''@''',host,''';') FROM mysql.user WHERE user<>''" | mysql -h... -u... -p... --skip-column-names -A | sed 's/$/;/g' > MySQLGrants.sql

Dai un'occhiata alla risposta di RolandoMySQLDBA su Come posso ottimizzare un mysqldump di un database di grandi dimensioni?


1
Hai dimenticato --events quale è necessario in aggiunta a --routinese --triggersed hai anche omesso --single-transactionper evitare inutilmente il blocco delle tabelle.
Michael - sqlbot,

1
Solo per essere sicuri che sia chiaro, --single-transactionnon produrrà un backup coerente se ci sono tabelle MyISAM che vengono scritte durante l'esecuzione del backup. Tuttavia, l'aggiunta --single-transactionè una buona idea se si utilizza tutto InnoDB e si desidera evitare il blocco durante l' mysqldumpesecuzione.
James L
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.