Per il comando di dump , è possibile utilizzare quanto segue
mysqldump --single-transaction --extended-insert -u [USERNAME] -p [DBNAME] | gzip > [/path_to_file/DBNAME].sql.gz
Gli inserti estesi sono migliori.
http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html#option_mysqldump_single-transaction
L'opzione Transazione singola è migliore per il dumping delle tabelle InnoDB.
Nel tuo file my.cnf , apporta temporaneamente le seguenti modifiche
http://dev.mysql.com/doc/refman/5.0/en/innodb-parameters.html#sysvar_innodb_doublewrite
innodb_doublewrite = 0
e anche
http://dev.mysql.com/doc/refman/5.0/en/innodb-parameters.html#sysvar_innodb_flush_log_at_trx_commit
innodb_flush_log_at_trx_commit = 2
Riavvia MySQL, quindi rimuovi queste opzioni dopo l'importazione e riavvia nuovamente MySQL.
Tabelle di memoria
Se tutto il database è in grado di adattarsi alla memoria, è possibile modificare ENGINE = InnoDB in ENGINE = MEMORY nel file sql di dump per ogni tabella o solo le tabelle che richiedono più tempo per l'importazione, importare nuovamente il file di dump nel database e poi riportare il motore in innodb.
ALTER TABLE name_of_table ENGINE = InnoDB;
comando mysqlimport
http://linux.die.net/man/1/mysqlimport
Ho usato mysqlimport per importare i dati di cui è stato eseguito il backup utilizzando l'opzione del formato scheda in mysqldump. Si è dimostrato più veloce dell'importazione tramite il comando mysql.
Dump del database usando mysqldump
mysqldump --tab = / some_directory / -u [USERNAME] -p [DBNAME] [TABLENAME]
Importa i dati nel tuo database.
mysqlimport -u [USERNAME] -p [DBNAME] /some_directory/tablename.sql