Я управляю сервером MySQL, на котором размещено более 100 баз данных.
Мы настроили стандартную репликацию главный-подчиненный, но поток SQL имеет тенденцию к частым сбоям и требует ручного вмешательства для его перезапуска. В это время серверы не синхронизируются.
Я знаю, что есть возможность указать, какие базы данных реплицируются / нет.
Можно ли настроить несколько экземпляров потока репликации (в идеале по одному на базу данных), чтобы, если репликация прерывается (и останавливается) в одном потоке, репликация не останавливается во всех остальных?
Если "поток SQL имеет тенденцию к частому прерыванию", вероятно, лучше всего устранить источник проблемы (-ов). Есть какие-нибудь подробности об ошибках, с которыми вы сталкиваетесь?
Если источник проблем не может быть устранен или приложение терпимо к другим побочным эффектам проблемы, вы можете настроить типы ошибок, которые будут игнорироваться через раб-пропуск-ошибки. Действовать с осторожностью. :)
Поток репликации является однопоточным, поэтому операторы не выходят из строя.
Ребята из Continuent пытаются улучшить асинхронную репликацию с помощью своего Tungsten Replicator: http://www.continuent.com/community/tungsten-replicator
Я не пробовал, но вы можете проверить это. В недавней колоде они рассказывали о «параллельной репликации».
Ура
Это невозможно, но читайте о формат репликации строк.
Другое решение может быть несколько экземпляров сервера mysql на одном компьютере, каждый с собственным потоком репликации (но я никогда не пробовал это решение).