Для вашей команды dump вы можете использовать следующее
mysqldump --single-transaction --extended-insert -u [USERNAME] -p [DBNAME] | gzip > [/path_to_file/DBNAME].sql.gz
Расширенные вставки лучше.
http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html#option_mysqldump_single-transaction
Параметр «Одиночная транзакция» лучше подходит для дампа таблиц InnoDB.
В вашем файле my.cnf временно внесите следующие изменения
http://dev.mysql.com/doc/refman/5.0/en/innodb-parameters.html#sysvar_innodb_doublewrite
innodb_doublewrite = 0
а также
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
Перезапустите MySQL, а затем удалите эти параметры после импорта и перезапустите MySQL снова.
Таблицы памяти
Если вся ваша база данных может поместиться в память, вы можете изменить ENGINE = InnoDB на ENGINE = MEMORY в файле sql дампа для каждой таблицы или только таблиц, которые занимают больше всего времени на импорт, импортировать файл дампа обратно в базу данных. а затем измените двигатель обратно на innodb.
ALTER TABLE name_of_table ENGINE = InnoDB;
команда mysqlimport
http://linux.die.net/man/1/mysqlimport
Я использовал mysqlimport для импорта данных, зарезервированных с использованием опции формата вкладки в mysqldump. Это оказалось быстрее, чем импорт с помощью команды mysql.
Дамп базы данных с помощью mysqldump
mysqldump --tab = / some_directory / -u [ИМЯ ПОЛЬЗОВАТЕЛЯ] -p [DBNAME] [TABLENAME]
Импортируйте данные в свою базу данных.
mysqlimport -u [ИМЯ ПОЛЬЗОВАТЕЛЯ] -p [DBNAME] /some_directory/tablename.sql