第17章:MySQL簇 / 17.5. MySQL簇中的进程管理 / 17.5.1. 用于MySQL簇的MySQL服务器进程使用

mysqld是传统的MySQL服务器进程。要想与MySQL簇一起使用,所创建的mysqld应支持NDB簇存储引擎,就像在预编译的-max二进制版本中那样,http://dev.mysql.com/downloads/

即使采用该方式创建了mysqld二进制版本,在默认情况下,NDB簇存储引擎仍处于禁止状态。要想启用NDB簇存储引擎,可使用两种可能的选项之一:

·         启动mysqld时,将“—ndbcluster”用作启动选项。

·         my.cnf文件的[mysqld]部分插入包含ndbcluster1行内容。

验证运行的服务器是否启用了NDB簇存储引擎的简单方法是,在MySQL监视器(mysql)中发出命令SHOW ENGINES。在列出NDBCLUSTER的行中应能看到值YES,如果在该行上看到NO(或在输出中未显示该行),你所运行的是未启用NDB功能的MySQl版本。如果在该行上看到DISABLED,就需采用上述两种方法之一启用它。

为了读取簇配置数据,MySQL服务器至少需要3种信息:

·         MySQL服务器自己的簇节点ID

·         管理服务器(MGM节点)的主机名或IP地址。

·         与管理服务器相连的端口。

节点ID可动态分配,因此不一定需要明确指定它们。

mysqld参数ndb-connectstring用于指定连接字符串,或是在启动mysqld时在命令行上指定,或是在my.cnf文件中指定。连接字符串包含主机名或IP地址,以及能够发现管理服务器的端口。

在下面的示例中,ndb_mgmd.mysql.com是管理服务器所在的主机,管理服务器在端口1186上监听簇消息。

shell> mysqld --ndb-connectstring=ndb_mgmd.mysql.com:1186

关于连接字符串的更多信息,请参见17.4.4.2节,“MySQL簇连接字符串

给定该信息,MySQL服务器将成为簇中的完全参与者。(有时,我们也将运行在该方式下的mysqld进程称为SQL节点)。它能完全了解所有的簇数据节点以及它们的状态,并能建立与所有数据节点的连接。在这种情形下,它能将任何数据节点用作事务协调器,并能访问数据节点以执行读取和更新操作。