Изчаква се синхронизирането на подчиненото устройство

Има ли някаква SQL (или PHP команда), която може да се използва или за принуждаване на главния да разпространява промените към подчинените устройства и/или да изчака, докато промените бъдат разпространени до всички подчинени устройства?


person paullb    schedule 10.03.2014    source източник


Отговори (2)


Можете да използвате функцията MASTER_POS_WAIT(). Извикайте тази функция в SQL израз на репликата и тя ще блокира (няма да се върне), докато репликата не се изпълни до определен лог файл и позиция.

SELECT MASTER_POS_WAIT('mysql-bin.000042', 8675309);

Вижте https://dev.mysql.com/doc/refman/5.6/en/master-pos-wait.html

person Bill Karwin    schedule 10.03.2014

Стандартната MySQL репликация е асинхронна. Ще трябва сами да проверите робите - възможно е, но няма вградена команда, която да свърши цялата работа вместо вас.

MySQL 5.5 предлага полусинхронна репликация, която не съм опит с.

Има и синхронна репликация чрез неща като Galera. Ние използваме базиран на Galera вариант на MySQL, Percona XtraDB Cluster, по време на работа.

person ceejayoz    schedule 10.03.2014