Para seu comando dump , você pode usar o seguinte
mysqldump --single-transaction --extended-insert -u [USERNAME] -p [DBNAME] | gzip > [/path_to_file/DBNAME].sql.gz
Pastilhas estendidas são melhores.
http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html#option_mysqldump_single-transaction
A opção Transação única é melhor para descartar tabelas do InnoDB.
No seu arquivo my.cnf , faça as seguintes alterações temporariamente
http://dev.mysql.com/doc/refman/5.0/en/innodb-parameters.html#sysvar_innodb_doublewrite
innodb_doublewrite = 0
e também
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
Reinicie o MySQL e remova essas opções após a importação e reinicie o MySQL novamente.
Tabelas de memória
Se o banco de dados inteiro puder caber na memória, você poderá alterar o ENGINE = InnoDB para ENGINE = MEMORY no arquivo sql de despejo para todas as tabelas ou apenas as tabelas que demoram mais para importar, importe o arquivo de despejo de volta para o banco de dados e depois mude o mecanismo de volta para innodb.
ALTER TABLE name_of_table ENGINE = InnoDB;
comando mysqlimport
http://linux.die.net/man/1/mysqlimport
Eu usei o mysqlimport para importar dados armazenados em backup usando a opção de formato de guia no mysqldump. Provou ser mais rápido do que importar através do comando mysql.
Despejar o banco de dados usando mysqldump
mysqldump --tab = / algum_diretório / -u [USERNAME] -p [DBNAME] [TABLENAME]
Importe os dados para o seu banco de dados.
mysqlimport -u [USERNAME] -p [DBNAME] /some_directory/tablename.sql