本节提供有关用于启动、配置和终止与 NDB
管理服务器的连接的 MGM API 函数的信息。
- 描述
此函数检索用于连接的连接字符串。
如果未调用 ndb_mgm_set_connectstring()
,则此函数将返回默认连接字符串。 此外,返回的连接字符串的格式可能与原始连接字符串略有不同,因为它可能包含原始连接字符串中不存在的说明符。
连接字符串格式与 ndb_mgm_set_connectstring() 中讨论的格式相同。
- 签名
const char* ndb_mgm_get_connectstring ( NdbMgmHandle handle, char* buffer, int size )
- 参数
-
此函数接受三个参数
一个
NdbMgmHandle
。一个指向要放置结果的
buffer
的指针。缓冲区的
size
。
- 返回值
连接字符串 - 这与推送到
buffer
的值相同。
- 描述
此函数获取正在连接(或已连接)到的节点的 ID。
- 签名
int ndb_mgm_get_configuration_nodeid ( NdbMgmHandle handle )
- 参数
管理服务器句柄。
- 返回值
节点 ID。
- 描述
此函数检索连接使用的端口号。
- 签名
int ndb_mgm_get_connected_port ( NdbMgmHandle handle )
- 参数
一个
NdbMgmHandle
。- 返回值
端口号。
- 描述
此函数用于获取连接到的主机的名称。
- 签名
const char* ndb_mgm_get_connected_host ( NdbMgmHandle handle )
- 参数
管理服务器
handle
。- 返回值
主机名。
- 描述
给定管理服务器句柄,此函数获取指示的管理服务器的
NDB
引擎和 MySQL 服务器版本信息。- 签名
int ndb_mgm_get_version ( NdbMgmHandle handle, int* major, int* minor, int* build, int length, char* string )
- 参数
一个
NdbMgmHandle
,以及指向NDB
引擎major
、minor
和build
版本值的指针,以及指向版本string
的指针(以及字符串的length
)。
版本字符串使用格式 mysql-
,其中 x.x.x
ndb-y.y.y
-status
x.x.x
是三部分 MySQL 服务器版本,y.y.y
是三部分 NDB
存储引擎版本。 status
字符串指示发布级别或状态;通常是 beta
、rc
或 ga
之一,但有时也可能出现其他值。
- 返回值
ndb_mgm_get_version()
返回一个整数:成功时返回 0;任何非零值表示错误。
- 描述
用于确定是否已建立连接。
此函数不会确定在连接的另一端是否存在 “活动” 管理服务器。 使用 ndb_mgm_check_connection()
来完成该任务。
- 签名
int ndb_mgm_is_connected ( NdbMgmHandle handle )
- 参数
管理服务器
handle
。- 返回值
-
此函数返回一个整数,其值的解释如下
0
:未连接到管理节点。任何非零值:已与管理节点建立连接。
- 描述
此函数可用于确定管理服务器是否正在管理客户端的给定连接上运行。
- 签名
int ndb_mgm_check_connection ( NdbMgmHandle handle )
- 参数
一个
NdbMgmHandle
(请参阅 第 3.1 节 “MGM API 概念”)。- 返回值
在 NDB 7.5 及更高版本中,此函数在成功时返回 0,在句柄为空时返回 -1,在未连接时返回 -2。
在 NDB 7.4 及更早版本中,此函数在发生错误时返回 -1;否则返回 0,即使管理服务器句柄为 NULL 或连接检查失败时也是如此(错误 #53242,错误 #11760802)。
- 描述
这是一个便捷函数,它提供了一种简单的方法来确定使用
ndb_mgm_set_connectstring()
设置的连接字符串中引用的管理服务器的数量。- 签名
int ndb_mgm_number_of_mgmd_in_connect_string ( NdbMgmHandle handle )
- 参数
管理句柄 (
NdbMgmHandle
)。- 返回值
成功时返回一个非负整数;负整数表示失败。
- 描述
此函数可以为管理服务器设置本地绑定地址。 如果使用,则必须在连接到管理服务器之前调用它。
- 签名
int ndb_mgm_set_bindaddress ( NdbMgmHandle handle, const char* address )
- 参数
-
此函数接受两个参数
管理句柄 (
NdbMgmHandle
)。形式为
的字符串host
[:port
]address
。
- 返回值
-
返回一个整数
0
表示成功-
任何非零值表示失败(地址无效)
重要绑定其他有效本地地址所导致的错误要等到实际尝试连接到管理服务器时才会报告。
- 描述
-
设置网络操作超时的秒数;默认值为 3 秒。
在 NDB 8.0.37 及更高版本中受支持。 NDB 8.3.0 不支持。
- 签名
int ndb_mgm_set_connect_timeout ( NdbMgmHandle handle, unsigned int seconds )
- 参数
-
ndb_mgm_set_connect_timeout()
接受两个参数管理服务器
handle
。以
seconds
为单位的超时时间。
- 返回值
此函数在失败时返回
0
,否则表示成功。
- 描述
此函数用于设置管理服务器与节点的连接的连接字符串。
- 签名
int ndb_mgm_set_connectstring ( NdbMgmHandle handle, const char* connection_string )
- 参数
-
ndb_mgm_set_connectstring()
接受两个参数管理服务器
handle
。-
格式如下所示的
connection_string
connection_string := [nodeid-specification,]host-specification[,host-specification]
ndb_mgm_get_connectstring()
也使用此格式的连接字符串。可以使用单个连接字符串与多个管理服务器建立连接。
nodeid-specification := nodeid=id host-specification := host[:port]
id
、port
和host
的定义如下id
:大于0
的整数,用于标识config.ini
中的节点。port
:引用标准 Unix 端口的整数。host
:包含有效网络主机地址的字符串。
- 返回值
此函数在失败时返回
-1
。
- 描述
此函数设置连接节点 ID。
- 签名
int ndb_mgm_set_configuration_nodeid ( NdbMgmHandle handle, int id )
- 参数
-
此函数需要两个参数
一个
NdbMgmHandle
。要连接到的节点的
id
。
- 返回值
此函数在失败时返回
-1
。
- 描述
设置网络操作超时的毫秒数;默认值为 60 秒。
此函数设置的超时时间不仅适用于建立网络连接,也适用于需要使用网络连接进行通信的 每个 操作。 这包括由任何 MGM API 函数、NDB API 方法调用或 ndb_mgm 客户端命令执行的每个网络读或写操作。
- 签名
int ndb_mgm_set_timeout ( NdbMgmHandle handle, unsigned int timeout_ms )
- 参数
-
此函数接受两个参数
管理服务器句柄 (
NdbMgmHandle
)。超时前等待的时间,以毫秒为单位。 仅支持 1000 的倍数;不能保证任何函数在一秒钟内返回。
- 返回值
成功时返回
0
,任何其他值表示失败。
- 描述
此函数建立与 ndb_mgm_set_connectstring() 设置的连接字符串指定的管理服务器的连接。
- 签名
int ndb_mgm_connect ( NdbMgmHandle handle, int retries, int delay, int verbose )
- 参数
-
此函数接受 4 个参数
管理服务器
handle
。尝试连接时要进行的
retries
次数。 此值为0
表示进行一次连接尝试。-
连接尝试之间的
delay
秒数。NDB 8.0.37 及更高版本 :如果未指定,则使用
ndb_mgm_set_connect_timeout()
指定的值。 如果
verbose
为1
,则为每次连接尝试打印一条消息。
- 返回值
此函数在失败时返回
-1
。