Я должен установить новую репликацию mysql, реплицирующую две базы данных. Итак, у меня есть этот скрипт, который блокирует таблицы, создает дамп и разблокирует их.
runme.sh
mysql -uxxx -pxxx < 1.sql >> logpos.txt
mysqldump -uXXX -pXXX db1 > db1.sql
mysqldump -uXXX -pXXX db2 > db2.sql
mysql -uxxx -pxxx < 2.sql >> logpos.txt
первый файл sql блокирует таблицы и экспортирует основной статус:
1.sql
FLUSH TABLES WITH READ LOCK;
SHOW MASTER STATUS;
второй файл экспортирует основное состояние и разблокирует таблицы
2.sql
SHOW MASTER STATUS;
UNLOCK TABLES;
результат выглядит так:
logpos.txt
File Position Binlog_Do_DB Binlog_Ignore_DB
mysql-bin.000335 49106285 fli_search,flimmit
File Position Binlog_Do_DB Binlog_Ignore_DB
mysql-bin.000335 49139991 fli_search,flimmit
Вопрос:
Как можно изменить положение журнала, когда таблицы заблокированы?
Server version: 5.0.51a-24+lenny4-log (Debian)
Я мог бы сделать mysqldump для нескольких баз данных и добавить --master-data, но я почему-то чувствовал себя небезопасно, потому что задействованы разные форматы баз данных, и я не мог действительно выяснить, как mysqldump --master-data ведет себя с несколькими базами данных. Итак, у меня был этот сценарий, и я получил разные позиции в журнале .... есть идеи, почему? Я не могу использовать это для настройки репликации ...
UPDATE:
Я наконец решил настроить репликацию с mysqldump --master-data --databases db1 db2
свалка была создана сегодня вечером в 1 час ночи.
сегодня около 10 часов утра я установил раба. Я полностью очистил базы данных (удалил все таблицы) и импортировал дамп, который автоматически установил основной файл журнала и правильно записал pos. я проверил, что это так же, как в дампе sql. все выглядело хорошо.
конечно, я остановил ведомое устройство перед импортом (иначе я не смог бы импортировать дамп с мастером изменений в инструкцию).
я завел раба и все выглядело просто отлично. позиция журнала увеличилась, количество секунд после мастера уменьшилось и стало равным 0, и некоторые тестовые данные были правильно реплицированы.
, но серьезное обновление с сегодняшнего дня ~ 7 утра (промежуток времени между созданием дампа и импортом) просто отсутствовало. он удалял старые записи из таблицы, на рабе они все еще присутствовали ...
есть идеи почему?
любая дополнительная информация нужна? комментарии ...