Снять согласованный логический бэкап с информацией GTID через mysqldump
MySQLБэкап и PITRКоманда
mysqldump -h db1 -u backup -p \
--single-transaction --source-data=2 --set-gtid-purged=ON \
--routines --events --triggers --hex-blob \
--all-databases | gzip > /backup/full_$(date +%F_%H%M).sql.gz
# Restore: GTID sets must not overlap on the target
zcat /backup/full_2026-10-08_0200.sql.gz | mysql -h db2 -u root -pЧто делает
Выгружает таблицы InnoDB в рамках одного согласованного снимка и записывает в начало файл / позицию binlog (в виде комментария) и оператор SET @@GLOBAL.GTID_PURGED, чтобы дамп можно было использовать для создания реплики или как начальную точку PITR на основе binlog.
Когда использовать
Для баз размером до нескольких десятков GB, переноса схем / таблиц и логической миграции между версиями.
Внимание
--single-transaction согласован только для InnoDB; таблицы MyISAM выгружаются несогласованно. DDL (ALTER / RENAME / TRUNCATE) на таблице во время дампа приводит к сбою дампа или пропуску таблицы. --source-data / --set-gtid-purged в начале берут кратковременную глобальную блокировку чтения (требуется привилегия RELOAD); если в этот момент выполняется долгий запрос, вся запись замирает, пока блокировка ожидает. Частичный дамп (--databases) всё равно записывает все GTID; при переносе подмножества на другой сервер используйте --set-gtid-purged=OFF. Дамп однопоточный; для больших объёмов предпочтительнее MySQL Shell dump или XtraBackup.