lepard
@lepard
function selfDevelopment() { selfDevelopment() }

Развертка дампа БД, как делать правильно?

Добрый день. Никогда не занимался разверткой БД из дампов, но пришла необходимость. Размер дампа - 40 ГБ, после развертки должно быть 200ГБ. Нужно развернуть ее на ноуте для ее оптимизации. Но столкнулся с слишком длительной разверткой, за 14 часов всего лишь 1.3 ГБ(Такими темпами развертка будет идти месяца...).
Разворачивал через консоль с помощью кода:
SET NAMES utf8;
DROP DATABASE `tecdoc`;
CREATE DATABASE `tecdoc` DEFAULT CHARACTER SET utf8;
USE `tecdoc`;
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; 
SET autocommit=0;
SET foreign_key_checks=0;
SET unique_checks=0;
SOURCE path/file_name.sql;
COMMIT;
SET autocommit=1;
SET foreign_key_checks=1;
SET unique_checks=1;

Кто может подсказать как ускорить ее развертку?(хотя бы до 3-х дней, Процессор AMD FX-9830P, 3000–3700 МГц
Оперативная память 16ГБ, DDR4-2400).
  • Вопрос задан
  • 336 просмотров
Решения вопроса 1
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
Для начала:
установите в настройках сервера innodb_flush_log_at_trx_commit = 0
проверьте значение innodb_buffer_pool_size - вам можно ставить 12GB смело

ну и в целом советы из гугла:
Make InnoDB access all your cores
Increase innodb_buffer_pool_size to 12G
Increase innodb_buffer_pool_instances to 2 (First run numactl --hardware to determine the number of Physical CPUs. What every number of CPUs it reports, use that number. I learned this recently in Jeremy Cole's Blog)
Increase Log File Size (innodb_log_file_size) to 2047M
support separate tablespace files for individual InnoDB tables (enable innodb_file_per_table)
support either high performance or high durability (ACID Compliance)
Increase Size up the innodb_log_buffer_size in conjunction with the number of transactions per second (perhaps 32M)
Increase innodb_read_io_threads to 64
Increase innodb_write_io_threads to 64
Increase innodb_io_capactity to 10000


делаете Вы все правильно, скорее всего все в диск упирается на ноуте - в этом случае innodb_flush_log_at_trx_commit = 0 и большой innodb_buffer_pool_size может помочь
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@sidni
Php Developer
14 часов всего лишь 1.3 ГБ это фиаско.... я вес текдок экспортировал за это время.... с помощю heidysql может у вас один insert одна строчка бд попробуйте при создания дампа увеличить размер инсерта
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы