Репликация данных в базу данных Azure для MySQL

ОБЛАСТЬ ПРИМЕНЕНИЯ: База данных Azure для MySQL — отдельный сервер

Важно!

База данных Azure для MySQL один сервер находится на пути выхода на пенсию. Настоятельно рекомендуется выполнить обновление до База данных Azure для MySQL гибкого сервера. Дополнительные сведения о миграции на гибкий сервер База данных Azure для MySQL см. в статье "Что происходит с одним сервером База данных Azure для MySQL?"

Репликация входных данных позволяет синхронизировать данные с внешнего сервера MySQL в службу Базы данных Azure для MySQL. Внешний сервер может быть локальным, на виртуальных машинах или в службе базы данных, размещенной другими поставщиками облачных служб. Репликация входных данных основана на позиции файла двоичного журнала (binlog) или на функции собственной репликации в MySQL на базе GTID. Дополнительные сведения о репликации binlog MySQL см. в этой статье.

Когда следует использовать репликацию входных данных

Ниже приведены основные сценарии с применением Репликации входных данных.

  • Гибридная синхронизация данных. С помощью репликации входных данных можно обеспечить синхронизацию данных между локальными серверами и базой данных Azure для MySQL. Эта синхронизация полезна при создании гибридных приложений. Этот метод удобен, если у вас есть локальный сервер базы данных, но вы хотите переместить данные в регион, который расположен ближе к пользователям.
  • Многооблачная синхронизация. Для сложных облачных решений репликацию входных данных можно использовать, чтобы синхронизировать данные между базой данных Azure для MySQL и различными облачными поставщиками, включая виртуальные машины и службы баз данных, размещенные в этих облаках.

Используйте Azure Database Migration Service(DMS) для сценариев миграции.

Рекомендации и ограничения

Нереплицируемые данные

Системная база данных MySQL на исходном сервере не реплицируется. Кроме того, изменения учетных записей и разрешений на исходном сервере не реплицируются. Если вы создаете на исходном сервере учетную запись, которой требуется доступ к серверу-реплике, вручную создайте ту же учетную запись на сервере-реплике. Чтобы узнать, какие таблицы хранятся в системной базе данных, ознакомьтесь с руководством по MySQL.

Фильтрация

Чтобы пропустить репликацию таблиц с исходного сервера (размещенного локально, на виртуальных машинах или в службе базы данных, размещенной другими поставщиками облачных служб), поддерживается параметр replicate_wild_ignore_table. При необходимости обновите этот параметр на сервере реплики, размещенном в Azure, с помощью портала Azure или интерфейса командной строки Azure.

Дополнительные сведения об этом параметре см. в документации по MySQL.

Поддерживается только в ценовых категориях общего назначения и с оптимизацией для операций в памяти

Репликация данных поддерживается только в ценовых категориях общего назначения и с оптимизацией для операций в памяти.

Приватный канал для Базы данных Azure для MySQL поддерживает только входящие подключения. Так как для репликации входных данных требуется исходящее подключение из службы, приватный канал для входящего трафика не поддерживается.

Примечание.

GTID поддерживается в версиях 5.7 и 8.0 и только на серверах, поддерживающих хранилище объемом до 16 ТБ (хранилище данных общего назначения версии 2).

Requirements

  • На исходном сервере должна быть установлена система MySQL не ниже версии 5.6.
  • Версии на исходном сервере и на сервере-реплике должны совпадать. Например, на обоих должна быть система MySQL версии 5.6 или 5.7.
  • Каждая таблица должна иметь первичный ключ.
  • Исходный сервер должен использовать ядро InnoDB MySQL.
  • Пользователь должен иметь разрешения на настройку ведения двоичного журнала и создания новых пользователей на исходном сервере.
  • Если на исходном сервере включен SSL, необходимо включить SSL-сертификат ЦС, предоставленный для домена, в хранимую процедуру mysql.az_replication_change_master или mysql.az_replication_change_master_with_gtid. См. следующие примеры и параметр master_ssl_ca.
  • Убедитесь, что IP-адрес исходного сервера был добавлен в правила брандмауэра на сервере-реплике Базы данных Azure для MySQL. Измените правила брандмауэра на портале Azure или с помощью Azure CLI.
  • Убедитесь, что компьютер, на котором размещен исходный сервер, разрешает входящий и исходящий трафик на порту 3306.
  • Убедитесь, что исходный сервер имеет общедоступный IP-адрес или полное доменное имя (FQDN) либо DNS является общедоступным.

Следующие шаги