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