Глава 23 InnoDB Cluster
В этой главе представлен MySQL InnoDB Cluster, который объединяет технологии MySQL, позволяя развертывать и администрировать полное интегрированное решение высокой доступности для MySQL. Данный материал представляет собой общий обзор InnoDB Cluster. Для получения полной документации, см. .
InnoDB Cluster не поддерживает MySQL NDB Cluster. Для получения дополнительной информации о MySQL NDB Cluster, см. Главу 25, MySQL NDB Cluster 9.2 и Раздел 25.2.6, «MySQL Server Using InnoDB по сравнению с NDB Cluster».
InnoDB Cluster состоит как минимум из трёх экземпляров MySQL Server и обеспечивает функции высокой доступности и масштабирования. InnoDB Cluster использует следующие технологии MySQL:
, являющийся расширенным клиентом и редактором кода для MySQL.
MySQL Server и Group Replication, которая позволяет набору экземпляров MySQL обеспечить высокую доступность. InnoDB Cluster предоставляет альтернативный, простой в использовании программный способ работы с Group Replication.
, лёгкий шлюз, обеспечивающий прозрачное маршрутизирование между вашим приложением и InnoDB Cluster.
На следующем рисунке показан обзор того, как эти технологии работают вместе:
Рисунок 23.1 Обзор InnoDB Cluster
Основанный на MySQL Group Replication, предоставляет функции, такие как автоматическое управление членством, отказоустойчивость, автоматический failover и т. д. InnoDB Cluster обычно работает в режиме с одним первичным экземпляром (чтение-запись) и несколькими вторичными экземплярами (только чтение). Расширенные пользователи также могут воспользоваться режимом многократных первичных, где все экземпляры являются первичными. Вы даже можете изменить топологию кластера во время работы InnoDB Cluster, чтобы обеспечить максимальную доступность.
Вы работаете с InnoDB Cluster с помощью , предоставляемого в составе MySQL Shell. AdminAPI доступен в JavaScript и Python и хорошо подходит для скриптинга и автоматизации развертывания MySQL для достижения высокой доступности и масштабируемости. Используя AdminAPI MySQL Shell, вы можете избежать необходимости ручного конфигурирования множества экземпляров. Вместо этого AdminAPI предоставляет эффективный современный интерфейс для набора экземпляров MySQL и позволяет обеспечивать, администрировать и контролировать ваше развертывание из одного центрального инструмента.
Для начала работы с InnoDB Cluster необходимо скачать и установить MySQL Shell. Вам понадобятся некоторые хосты с установленными экземплярами MySQL Server, и вы также можете установить MySQL Router.
InnoDB Cluster поддерживает MySQL Clone, что позволяет просто обеспечивать экземпляры. В прошлом, чтобы развернуть новый экземпляр до того, как он присоединится к набору экземпляров MySQL, вам нужно было каким-то образом вручную передавать транзакции присоединяющемуся экземпляру. Это могло включать копирование файлов, ручное копирование и т. д. С помощью InnoDB Cluster вы можете просто добавить его в кластер, и он автоматически развернётся.
Аналогично, InnoDB Cluster тесно интегрирован с , и вы можете использовать AdminAPI для интеграции их вместе. MySQL Router может автоматически настроить себя на основе InnoDB Cluster в процессе, называемом , который устраняет необходимость ручного конфигурирования маршрутизации. Затем MySQL Router прозрачно подключает клиентские приложения к InnoDB Cluster, обеспечивая маршрутизацию и балансировку нагрузки для клиентских подключений. Эта интеграция также позволяет администрировать некоторые аспекты MySQL Router, настроенного на InnoDB Cluster, с помощью AdminAPI. Информация о состоянии InnoDB Cluster включает детали о MySQL Routers, настроенных на кластер. Операции позволяют работать на уровне кластера, взаимодействовать с MySQL Routers, настроенными на кластер, и т. д.
Дополнительную информацию об этих технологиях см. в документации пользователя, указанной в описаниях. В дополнение к этой документации пользователя, есть документация разработчика для всех методов AdminAPI в MySQL Shell JavaScript API Reference или MySQL Shell Python API Reference, доступные по адресу Connectors and APIs.
© 2025 Oracle
Licensed under the GPLv2 License.