免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: xpingtn
打印 上一主题 下一主题

求助mysql集群数据同步问题 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2008-01-09 16:34 |只看该作者
手工建立的数据库和表

论坛徽章:
0
12 [报告]
发表于 2008-01-10 10:44 |只看该作者
六、创建数据库表

与没有使用 Cluster的MySQL相比,在MySQL Cluster内操作数据的方式没有太大的区别。执行这类操作时应记住两点:

表必须用ENGINE=NDB或ENGINE=NDBCLUSTER选项创建,或用ALTER TABLE选项更改,以使用NDB Cluster存储引擎在 Cluster内复制它们。如果使用mysqldump的输出从已有数据库导入表,可在文本编辑器中打开SQL脚本,并将该选项添加到任何表创建语句,或用这类选项之一替换任何已有的ENGINE(或TYPE)选项。
另外还请记住,每个NDB表必须有一个主键。如果在创建表时用户未定义主键,NDB Cluster存储引擎将自动生成隐含的主键。(注释:该隐含 键也将占用空间,就像任何其他的表索引一样。由于没有足够的内存来容纳这些自动创建的键,出现问题并不罕见)。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
13 [报告]
发表于 2008-01-10 11:43 |只看该作者
我也想知道原因

论坛徽章:
0
14 [报告]
发表于 2008-01-10 12:17 |只看该作者
我也是刚学mysql的,问一下,这种表是怎么创建的,是在master上创建还是在管理节点上创建,能不能举个例子,谢谢!!!!

论坛徽章:
0
15 [报告]
发表于 2008-01-10 12:44 |只看该作者
谢谢12楼的,我看了一下mysql的中文官方手册http://dev.mysql.com/doc/refman/ ... tml#ndb-mgm-process,在master上创建了一个表,slave上数据立刻同步了,在slave也插入一条数据,master也同步了。我在管理节点用ndb_mgm命令查看
[root@cluster ~]# ndb_mgm
-- NDB Cluster -- Management Client --
ndb_mgm> show
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=2    @192.168.0.98  (Version: 5.1.5, Nodegroup: 0)
id=3    @192.168.0.99  (Version: 5.1.5, Nodegroup: 0, Master)

[ndb_mgmd(MGM)] 1 node(s)
id=1    @192.168.0.97  (Version: 5.1.5)

[mysqld(API)]   2 node(s)
id=4    @192.168.0.98  (Version: 5.1.5)
id=5    @192.168.0.99  (Version: 5.1.5)


这里怎么还有标识
id=3    @192.168.0.99  (Version: 5.1.5, Nodegroup: 0, Master)

当把两台都机器重启以后,默认是哪台服务器的mysql服务先起来,哪台机器就为master主机.
id=2    @192.168.0.98  (Version: 5.1.5, Nodegroup: 0, Master)

master主机的作用是什么???

论坛徽章:
0
16 [报告]
发表于 2008-01-10 17:08 |只看该作者
我想问一下~这种mysql Cluster的原理是 应用发给master的语句执行同时也发给slave?还是!发给master后,slave到master取?

论坛徽章:
0
17 [报告]
发表于 2008-01-10 18:08 |只看该作者
在早期版本的MySQL Cluster中,创建数据库是不能在MySQL Server节点上自动同步的;要手动建好数据库后,其中的表才能自动同步。
这个问题在新版本的MySQL Cluster里面fix了。
现在最新的是5.1.22-rc,楼主换版本吧

论坛徽章:
0
18 [报告]
发表于 2008-01-10 23:11 |只看该作者
看来得换个版本试试了.
呵~~~~~~~~~~

论坛徽章:
0
19 [报告]
发表于 2008-02-10 16:53 |只看该作者
建表的时候必须加上ENGINE=NDBCLUSTER这个语句才可以。
比如说:
CREATE TABLE City (
ID int(11) NOT NULL auto_increment,
Name char(35) NOT NULL default '',
CountryCode char(3) NOT NULL default '',
District char(20) NOT NULL default '',
Population int(11) NOT NULL default '0',
PRIMARY KEY  (ID)
) ENGINE=NDBCLUSTER;  《----注意这个

明白了吧?另外,别把咱们的内部文档帖到公共论坛,应该自己总结出一个自己的文档然后再发布。

[ 本帖最后由 真空管 于 2008-2-10 16:55 编辑 ]

论坛徽章:
0
20 [报告]
发表于 2008-02-13 15:44 |只看该作者
原帖由 xpingtn 于 2008-1-9 14:18 发表
我也不知道,mysql的集群是不是这样配???我在网上搜的技术文档都是这样这样,配好集群,插入大量的数据,数据就是会自动同步。看来网上的文档都不可信呀!!
呵呵~~~
现在看官方文档也看不太明白,郁闷呀!!!



呵呵,不是不可信,只是每个人的环境和操作步骤会有一些区别,所以也必定会存在一些问题.当你把这问题解决了,你也就学到东西了

估计建的表不是 NDBCLUSTER 引擎格式
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP