На сервере MySQL 5.1 Enterprise db-dump занимает много времени. Я хотел бы сократить время восстановления db-dump или иметь возможность быстро вернуться в известное состояние. Эта машина используется для тестирования. Итак, допустим, у нас есть дамп БД в точке А. Я вношу некоторые изменения в БД с помощью приложения и через некоторое время хочу вернуться к тому же дампу БД. У меня есть следующие варианты.
Есть ли у меня другие варианты. Какой-то способ быстро вернуться в состояние A. Или ускорить мой dbdump. Я постараюсь предоставить вам более подробную информацию, если вы спросите (я не уверен, что мне здесь писать).
Так как 3моло предложил, другой вариант - запустить тестовый сервер как виртуальную машину.
Настройте виртуальную машину тестовой машины с начальными условиями теста, который вы хотите запустить, выполните снимок а затем запустите свои тесты. Если вы хотите вернуться к чистой тестовой настройке, используйте моментальный снимок, чтобы восстановить состояние всей виртуальной машины.
Mysqldump:
Используйте '--single-transaction' с mysqldump.
Если у вас нет большой нагрузки на процессор, используйте gzip.
Дефрагментируйте таблицы с помощью OPTIMIZE TABLE, чтобы освободить место.
Добавьте больше шпинделей.
Удалите ненужные данные.
Другие варианты:
Вы можете использовать моментальные снимки технологии виртуализации.
Некоторые файловые системы поддерживают моментальные снимки.
InnoDB поддержка снимков.
Это похоже на компромисс между пространством и временем. Самое быстрое восстановление, которое вы получите, - это просто удалить существующий каталог и скопировать резервную копию каталога данных в правильное место.
Единственная загвоздка - убедиться, что mysql молчит (либо выключен, либо с глобальной блокировкой чтения), чтобы убедиться, что данные на диске согласованы, прежде чем делать резервную копию каталога данных.
Можешь попробовать мк-параллельное восстановление
Проверять, выписываться Xtrabackup. Вы не сказали, какие у вас таблицы, но сценарий innobackupex Xtrabackup поддерживает необработанные резервные копии InnoDB (и XtraDB), а также таблиц MyISAM.
Как предположил @opsguy, это небольшой компромисс, поскольку сжатый mysqldump обычно намного меньше, чем необработанная резервная копия, но Xtrabackup также предлагает варианты сжатия, и нет сравнения с точки зрения восстановления необработанной и логической резервной копии.
HTH