Более быстрый способ сбросить MySQL
Возможный дубликат:
Ускорение выгрузки и импорта MySQL
Это может быть глупый вопрос, но я просто смотрел скринкаст о репликации MySQL и узнал, что основная база данных не отправляет SQL на подчиненное устройство для репликации, она фактически передает данные в двоичном формате, что делает импорт чрезвычайно быстрым, Я начал задаваться вопросом: "Если база данных может экспортировать и импортировать двоичные файлы, почему mysqldumps / import занимает так много времени?" Есть ли способ заставить mysql выгружать базу данных в двоичную форму аналогичным образом, чтобы ускорить этот процесс?
4 ответа
Я полагаю, что именно так работает mysqlhotcopy: он блокирует таблицы, а затем копирует реальные двоичные данные (вместо создания операторов INSERT на естественном языке).
Если вы используете таблицы MyISAM, вы можете просто скопировать файлы (.MYD, .MYI & .frm) в каталог данных. Для меня это огромное преимущество перед InnoDB, так как мне часто приходится перемещать большие столы.
Рекомендуется отключить сервер MySQL перед копированием файлов.
Проверьте http://www.mydumper.org/ - многопоточное резервное копирование / восстановление mysql, которое в 3-10 раз быстрее, чем mysqldump http://vbtechsupport.com/1695/
У mysqldump есть издержки, связанные с анализом всех данных в обоих направлениях: двоичный файл -> текст, а затем текст -> двоичный файл. Рассмотрим поле даты. Внутренне это может быть сохранено как 32-битное целое число (или что-то еще, что на самом деле использует mysql), но преобразование в "2010-03-26 20:37:45" требует значительного объема вычислений. При импорте также возникает необходимость перестроить индексы таблиц.