





Использование расширенных вставок в дампах должно ускорить импорт.
Почему клиент MySQL не может обрабатывать даже умеренно большие дампы с расширенными вставками?
Я предполагаю, что у клиента есть буфер фиксированного размера для каждой строки, которую он читает, а расширенные вставки превышают этот предел.
fwiw Я импортировал дамп размером 10 ГБ, используя расширенные вставки, и он прошел безупречно.
отключите проверку внешнего ключа и включите автоматическую фиксацию.
Если вы импортируете в InnoDB, единственная наиболее эффективная вещь, которую вы можете сделать, - это поставить
innodb_flush_log_at_trx_commit = 2
в вашем my.cnf, временно, пока выполняется импорт. Вы можете вернуть его на 1, если вам нужна ACID.
Интересно, не будет ли установка 0 еще быстрее?
действительно не понимал, что это делает, но это ускорило восстановление моего большого дампа базы данных innoDB. для MyISAM dbs помогло увеличение key_buffer_size (до 30% доступной памяти).
Просто любопытно, делает ли SET autocommit = 0 это ненужным?
http://www.maatkit.org/ имеет mk-parallel-dump и mk-parallel-restore
If you’ve been wishing for multi-threaded mysqldump, wish no more. This tool dumps MySQL tables in parallel. It is a much smarter mysqldump that can either act as a wrapper for mysqldump (with sensible default behavior) or as a wrapper around SELECT INTO OUTFILE. It is designed for high-performance applications on very large data sizes, where speed matters a lot. It takes advantage of multiple CPUs and disks to dump your data much faster.
В mysqldump также есть различные возможные варианты, такие как не создание индексов во время импорта дампа, а их массовое выполнение по завершении.
Согласно странице руководства mk-parallel-dump (maatkit.org/doc/mk-parallel-dump.html), его не следует использовать для резервного копирования. Остерегаться!
Maatkit теперь является частью Percona Toolkit (launchpad.net/percona-toolkit)
Как называется команда в percona-toolkit?
Увы, но сейчас его нет в percona-toolkit.
Думаю, ваш вопрос также зависит от того, где находится узкое место:
-C / --compress для mysqldump.Также обратите внимание на флаг --quick для mysqldump (и --disable-keys, если вы используете MyIsam).
--disable-keys is 'effective only for nonunique indexes of MyISAM tables'.
kapep - спасибо за исправление. Я обновил ответ.
mysqlhotcopy может быть альтернативой и для вас, если у вас есть только таблицы MyIsam.
Используя индексы, но не слишком много, активируйте кеш запросов, используя sphinx для большой базы данных, вот несколько полезных советов http://www.keedeo.com/media/1857/26-astuces-pour-accelerer-vos-requetes-mysql (на французском)
Вы не должны просто давать ссылку на другой сайт в качестве ответа, так как сайт может устареть в будущем. Вместо этого нажмите ссылку «изменить» в этом ответе и включите сюда основные части решения с этой страницы. См .: meta.stackexchange.com/q/8259
Другой альтернативой является http://www.mydumper.org - многопоточное резервное копирование / восстановление mysql, которое в 3-10 раз быстрее, чем mysqldump, и может обрабатывать как MyISAM, так и InnoDB, а также Drizzle http://vbtechsupport.com/1695/.
ссылка mydumper.org ведет на пустой сайт.
да, срок действия домена истек .. есть зеркало на centminmod.com/mydumper.html для документации
если вы это сделаете, есть большая вероятность, что вы не сможете импортировать обратно, если дамп даже умеренно большой