Нужно ли знать все хосты, содержащиеся в ipWhitelist при создании кластера?

Я играю с 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 ответа

Решение

Да, это. И имейте в виду, что он должен быть двунаправленным (как вы правильно установили во второй попытке). Кроме того, вы можете использовать нотацию 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

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

Другие вопросы по тегам