Імпорт великої бази даних MySQL: оптимізація та прискорення

MySQL / MariaDB · 19.04.2026
Імпорт великої бази даних MySQL: оптимізація та прискорення

Проблеми при імпорті великих дампів

Імпорт дампів розміром 1 ГБ+ через стандартний mysql < dump.sql часто зависає. Причини: малий max_allowed_packet, повільний запис InnoDB, тайм-аути.

Оптимізація MySQL перед імпортом

mysql -u root -p -e "
SET GLOBAL max_allowed_packet = 1073741824;
SET GLOBAL innodb_flush_log_at_trx_commit = 2;"

Імпорт з оптимізаціями

pv dump.sql.gz | gunzip | mysql -u root -p mydb

Прискорення через вимкнення перевірок

mysql -u root -p mydb -e "
SET FOREIGN_KEY_CHECKS=0;
SET AUTOCOMMIT=0;
SOURCE /path/to/dump.sql;
COMMIT;
SET FOREIGN_KEY_CHECKS=1;"

mydumper / myloader — паралельний бекап і імпорт

sudo apt install mydumper
mydumper -u root -p password -B mydb -t 4 -c -o /backup/dump/
myloader -u root -p password -B mydb -t 4 -d /backup/dump/
mydumper/myloader в 4–8 разів швидше звичайного mysqldump для великих баз.
← Назад до бази знань Поставити питання підтримці