информация: все мои столы innodb.
Я знаю, что могу создать подчиненное устройство mysql, скопировав данные с главного устройства на подчиненное устройство, отметив позицию в binlog и установив это на подчиненном устройстве. таким образом, подчиненное устройство должно иметь возможность воспроизводить все записи главного бинлога с момента резервного копирования и синхронизировать таким образом.
но, если binlog существует с самого начала, могу ли я просто установить позицию binlog на ведомом устройстве на 0, таким образом, не нужно копировать какие-либо данные и просто заставить ведомое устройство догнать самую последнюю запись binlog?
Это могло бы сработать, если бы
Есть одна загвоздка: нет буквальной позиции 0.
Для разных версий MySQL существует разная позиция 0
Я давно писал об этом в DBA StackExchange:
Feb 04, 2011
: Повреждение главного бинлога MySQLJun 09, 2011
: Yum обновить mysql с 5.1 до 5.5Если у вас нет всех двоичных журналов с момента начала загрузки данных MySQL, вы можете сделать копию, используя rsync
и один перезапуск mysql
:
Если у вас действительно есть все бинлоги и база данных настроена правильно, я не могу придумать никаких технических причин, почему бы и нет. Вся причина, по которой ведется бинарный журнал, состоит в том, чтобы разрешить подобные вещи.