数据库
首页 > 数据库> > MySQL集群传播

MySQL集群传播

作者:互联网

我在Ubuntu上创建了一个MySQL集群
指南:http://bieg.wordpress.com/2008/08/03/mysql-clustering-ubuntu/

我正确初始化了节点(具有MGM和NDB的节点以及其他NDB节点).节目;返回:

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)

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

可能是什么问题呢?

谢谢

解决方法:

在MySQL 5.1中,默认情况下,表是使用MyISAM存储引擎创建的(在MySQL 5.5中,默认更改为InnoDB).使用除ndb / cluster之外的任何存储创建的任何表都是单个MySQL Server的本地表.

为了将数据存储在数据节点中并因此在群集中的所有MySQL Server上可见,您需要指定将NDB用作存储引擎.例如,创建表格时…

创建表简单对象(id INT非空主键)ENGINE = NDB;

或迁移现有表…

ALTER TABLE简单ENGINE = ndb;

在您的情况下,ndb_mgm的输出显示您只有一个MySQL Server,您应该编辑config.ini文件以定义更多[mysqld]插槽,然后启动其他mysqld进程.

您为什么认为数据仅存储在一个数据节点中?如果您使用engine = ndb创建它,那么我可以肯定两者都存在.

请注意,您关注的博客文章实际上已经过时了(例如,您不得使用通过“ apt-get install mysql-server”获得的MySQL Server,而应使用群集中包含的MySQL Server).套餐从https://www.mysql.com/downloads/cluster/

下载并使用MySQL Cluster 7.2而不是7.1.

可以在http://www.clusterdb.com/mysql-cluster/deploying-mysql-cluster-over-multiple-hosts/中找到更多最新的说明集

标签:cluster-computing,mysql
来源: https://codeday.me/bug/20191201/2079912.html