powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Подскажите, как лучше сделать копию БД
5 сообщений из 5, страница 1 из 1
Подскажите, как лучше сделать копию БД
    #39468393
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть БД, с которой ежедневно снимается бэкап.
С этого бэкапа восстанавливается копия БД, предназначенная для тестов и экспериментов.
Бэкап делается довольно быстро (несколько секунд), а вот восстановление выполняется несколько минут. БД не очень большая по объему (менее 100МБ), но содержит довольно много записей (порядка 100к).
Можно ли это ускорить?
Процедура выполняется таким скриптом:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
echo "Processing database"
MY="--user=usr --password=pwd"
echo "  - dump database..."
mysqldump $MY db > db.sql
echo "  - create test copy..."
mysqladmin -f $MY drop db-test
mysqladmin -f $MY create db-test
mysql $MY db-test < db.sql
echo "  - compress dump..."
gzip -f db.sql
В конфигурационном файле я добавил такие параметры:
Код: plaintext
1.
2.
3.
innodb_flush_log_at_trx_commit = 2
innodb_log_file_size = 256M
innodb_flush_method = O_DIRECT
но особого эффекта не заметил.
...
Рейтинг: 0 / 0
Подскажите, как лучше сделать копию БД
    #39468403
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько сложна структура связей?

Я бы отдельно дампил структуру (через mysqldump) и отдельно данные (через SELECT .. INTO OUTFILE). Проблема на таком пути только одна, и то если есть FK - необходимо соблюдать такой порядок загрузки данных в таблицы, чтобы не напороться на ограничения внешнего ключа. Либо отключать foreign_key_checks, грузить данные, а потом включать его.
...
Рейтинг: 0 / 0
Подскажите, как лучше сделать копию БД
    #39468419
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Связи довольно запутанные и для них не всегда есть FK.
И таблиц довольно много, 158.
Тем не менее попробую такой способ.

Данные потом загружать через load data?
...
Рейтинг: 0 / 0
Подскажите, как лучше сделать копию БД
    #39468424
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.Связи довольно запутанные и для них не всегда есть FK.
Нет FK - нет связи. А то, что там где-то снаружи физика бизнес-процесса предполагает зависимости, к делу не пришьёшь.

Alibek B.Данные потом загружать через load data?
Есессно.
...
Рейтинг: 0 / 0
Подскажите, как лучше сделать копию БД
    #39468642
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В пакете mysql-utils нашлась утилита mysqldbcopy, которая копирует БД.
Так проще.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Подскажите, как лучше сделать копию БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]