Нужно ли знать все хосты, содержащиеся в ipWhitelist при создании кластера? - PullRequest
0 голосов
/ 15 марта 2019

Я играю с MySQL 8.0.14 и кластером InnoDB. В настоящее время я застрял в создании репликации группы с помощью оболочки MySQL.

Поскольку я хочу использовать SSL, я должен установить ipWhitelist для dba.createCluster (), который показан ниже:

var cluster = dba.createCluster('testCluster4', {ipWhitelist:'somedns-1.tosqlnode'})

Кластер успешно создан. Теперь я хочу добавить еще один экземпляр.

cluster.addInstance('ca@somedns-2.tosqlnode', {ipWhitelist:'somedns-1.tosqlnode,somedns-2.tosqlnode'})

Это происходит сбой, так как первый экземпляр показывает ошибку, которая говорит о том, что экземпляр из белого списка пытается подключиться.


Итак, создайте еще один:

var cluster = dba.createCluster('testCluster5', {ipWhitelist:'somedns-1.tosqlnode,somedns-2.tosqlnode'})

Кластер успешно создан. Теперь я хочу добавить еще один экземпляр.

cluster.addInstance('ca@somedns-2.tosqlnode', {ipWhitelist:'somedns-1.tosqlnode,somedns-2.tosqlnode'})

Экземпляр успешно добавлен.


Действительно ли необходимо знать все адреса экземпляров при создании кластера? Я не могу найти способ через оболочку MySQL изменить исходный список ipWhitelist.

Ответы [ 2 ]

1 голос
/ 19 марта 2019

Если вы хотите иметь возможность добавлять узлы на лету, вам нужно установить group_replication_ip_whitelist на AUTOMATIC. Это делается, если во время настройки не указан какой-либо ipWhitelist из командной консоли (по умолчанию). Если нет, вы должны сделать то, что Мигель написал выше.

0 голосов
/ 19 марта 2019

Да, это так. И имейте в виду, что он должен быть двунаправленным (как вы правильно установили во второй попытке). Кроме того, вы можете использовать нотацию CIDR, чтобы выбрать конкретную подсеть, которую вы хотите добавить в «белый список».

Для получения дополнительной информации, пожалуйста, проверьте раздел документации о ip-белом списке: https://dev.mysql.com/doc/refman/8.0/en/group-replication-ip-address-whitelisting.html

Что касается возможности изменения текущего ip-белого списка работающего кластера через Shell, это невозможно. Вам необходимо заново создать кластер:

cluster.dissolve({force: true])
var cluster = dba.createCluster('myCluster', {ipWhitelist:'<myIpWhitelist'})

Приветствия

Miguel

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...