Нужно ли знать все хосты, содержащиеся в 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 из командной консоли (по умолчанию). Если нет, вы должны делать то, что Мигель написал выше.