MySQL 集群传播

3
我按照指南在Ubuntu上创建了一个MySQL集群:http://bieg.wordpress.com/2008/08/03/mysql-clustering-ubuntu/ 我正确初始化了节点(一个带有MGM和NDB的节点,另一个是NDB节点)ndb_mgm> show;返回:
Connected to Management Server at: 10.168.222.24:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2    @10.168.222.24  (mysql-5.1.51 ndb-7.1.9, Nodegroup: 0)
id=3    @10.160.91.224  (mysql-5.1.51 ndb-7.1.9, Nodegroup: 0, Master)

[ndb_mgmd(MGM)] 1 node(s)
id=1    @10.168.222.24  (mysql-5.1.51 ndb-7.1.9)

[mysqld(API)]   1 node(s)
id=4    @10.168.222.24  (mysql-5.1.51 ndb-7.1.9)

然而,当我去测试集群时,我在两个节点上创建了一个数据库,但是我在一个节点中创建的表格不会传播到另一个节点,其内容也不会传播。

可能出了什么问题呢?

谢谢

1个回答

3
在MySQL 5.1中,默认情况下,表使用MyISAM存储引擎创建(默认更改为MySQL 5.5中的InnoDB)。使用除ndb/cluster之外的任何存储创建的任何表都局限于单个MySQL服务器。
要将数据存储在数据节点中,并因此通过群集中的所有MySQL服务器可见,您需要指定使用NDB作为存储引擎。例如,在创建表时...
CREATE TABLE simples(id INT NOT NULL PRIMARY KEY)ENGINE = ndb;
或迁移现有表...
ALTER TABLE simples ENGINE = ndb;
在您的情况下,ndb_mgm的输出显示您只有一个MySQL服务器,您应编辑config.ini文件以定义更多[mysqld]插槽,然后启动其他mysqld进程。
为什么您认为数据仅存储在一个数据节点中?如果使用engine = ndb创建它,则可以肯定它在两个节点中。
请注意,您正在关注的博客文章已经非常过时(例如,您不应该使用“apt-get install mysql-server”获取的MySQL Server,而应该使用包含在https://www.mysql.com/downloads/cluster/中的Cluster软件包中的MySQL Server)。
请下载并使用MySQL Cluster 7.2而不是7.1。
更加详细的说明可以在http://www.clusterdb.com/mysql-cluster/deploying-mysql-cluster-over-multiple-hosts/中找到。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接