Spec-Zone .ru
спецификации, руководства, описания, API

17.3.2.3. MySQL Cluster Connectstring

За исключением сервера управления MySQL Cluster (ndb_mgmd), каждый узел, который является частью MySQL Cluster, требует connectstring, который указывает на расположение сервера управления. Этот connectstring используется в установлении соединения с сервером управления так же как в выполнении других задач в зависимости от роли узла в кластере. Синтаксис для connectstring следующие:

[nodeid=node_id, ]host-definition[, host-definition[, ...]]host-definition:    host_name[:port_number]

node_id целое число, больше чем или равный 1, который идентифицирует узел в config.ini. host_name строка, представляющая допустимое интернет-имя хоста или IP-адрес. port_number целое число, обращающееся к номеру порта TCP/IP.

example 1 (long):    "nodeid=2,myhost1:1100,myhost2:1100,192.168.0.3:1200"example 2 (short):   "myhost1"

localhost:1186 используется в качестве значения по умолчанию connectstring значение, если ни один не обеспечивается. Если port_num опускается от connectstring, порт значения по умолчанию является 1186. Этот порт должен всегда быть доступным на сети, потому что это было присвоено IANA с этой целью (см. http://www.iana.org/assignments/port-numbers для деталей).

Перечисляя многократные определения узла, возможно определять несколько избыточных серверов управления. Данные MySQL Cluster или узел API пытаются связаться с последовательными серверами управления на каждом узле в определенном порядке, пока успешное соединение не было установлено.

Также возможно определить в connectstring один, или больше обязывает адреса использоваться узлами, имеющими многократные сетевые интерфейсы для того, чтобы соединиться с серверами управления. Связывать адрес состоит из имени узла или сетевого адреса и дополнительного номера порта. Этот улучшенный синтаксис для connectstrings показывают здесь:

[nodeid=node_id, ]    [bind-address=host-definition, ]    host-definition[; bind-address=host-definition]    host-definition[; bind-address=host-definition]    [, ...]]host-definition:    host_name[:port_number]

Если сингл связывает адрес, используется в connectstring до определения любых узлов управления, то этот адрес используется в качестве значения по умолчанию для того, чтобы соединиться с любым из них (если не переопределено для данного сервера управления; см. позже в этом разделе для примера). Например, следующий connectstring заставляет узел использовать 192.168.178.242 независимо от сервера управления, с которым это соединяется:

bind-address=192.168.178.242, poseidon:1186, perch:1186

Если связывать адрес определяется после определения узла управления, то он используется только для того, чтобы соединиться с тем узлом управления. Рассмотрите следующий connectstring:

poseidon:1186;bind-address=localhost, perch:1186;bind-address=192.168.178.242

В этом случае, использование узла localhost соединяться с сервером управления, работающим на названном узле poseidon и 192.168.178.242 соединяться с сервером управления, работающим на названном узле perch.

Можно определить, что значение по умолчанию связывает адрес и затем переопределяет это значение по умолчанию для одного или более определенных узлов управления. В следующем примере, localhost используется для того, чтобы соединиться с сервером управления, работающим на узле poseidon; с тех пор 192.168.178.242 определяется сначала (перед любыми определениями сервера управления), это - значение по умолчанию, связывают адрес, и так используется для того, чтобы соединиться с серверами управления на узлах perch и orca:

bind-address=192.168.178.242,poseidon:1186;bind-address=localhost,perch:1186,orca:2200

Есть много различных способов определить connectstring:

Рекомендуемый метод для того, чтобы определить connectstring должен установить это на командной строке или в my.cnf файл для каждой исполнимой программы.