Я пытался настроить репликацию большой БД (90GB)
Я создал резервную копию с помощью mysqldump --single-transaction
Затем я восстановил ее на сервере репликации.
Затем я включил репликацию, но случайно нажал Reset slave
в phpMyAdmin, и он установил позицию обратно в практически 0.
Так что, если я правильно понимаю, он пытается восстановить БД на сервере репликации с самого начала.
Поскольку он продолжает ошибаться на дубликатах, которые уже существовали в БД (потому что я сначала восстановил резервную копию), я добавил временность:
slave-skip-errors=1062
skip-slave-start
в файл my.ini, чтобы пропустить дублирование. Но даже после этого он отстает от мастера примерно на 4 месяца (9983704 секунды).
Могу ли я как-то сдвинуть позицию на ведомом, чтобы он перестраивался только за последние несколько дней?
Вы должны использовать mysqldump --single-transaction --master-data
для дампа базы данных с master. Параметр --master-data
указывает mysqldump
включить позицию журнала в результирующий файл.
После восстановления правильного дампа на slave, вы можете START SLAVE
и репликация будет проходить нормально.