分享
 
 
 

Mysql 5.0 Replication 说明

王朝mysql·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

Mysql 5.0正式的版本,我是在11月1号下的,好象从他网站上看10月24号就公布了,目前下的是5.015. Replicatons配置目前中文资料不多,主要是基于 4和3的一些配置方法。开始我也是参照这些资料配置的,不过后来发现总是不能同步。开始以为是人家写错了,或者自己没准确按照步骤执行,可后来检查多次发现的确没错。那到底怎么会事儿? 想来想去,唯一可能就是Mysql 5.0的配置方法有所不同,其实最好的方法还是去看Mysql 5.0自己的手册。网上已经有多篇关于这个的说明,这里不具体描述。以下是一些我找到的中文资源,如果有兴趣最好先看看中文的内容。附注(1,2)都是一些中文资源。 当然最好还是看Mysql自己的5.0说明文档第六章(附注 3)有专门介绍。实际Mysql 自己说明上讲的非常清楚该怎么配置,唯一问题是你是不是有耐心看完着一堆洋文。

如果你没耐性看完Mysql的手册,那么你就照着我下面列出的注意事项,参照中文步骤配置。我这里只记录一些5.0需要注意的内容,和我认为和以前版本有较大区别的地方。有些地方我也没完全搞明白,抱着能用就成的想法,也没具体深究,其实如果有工夫,真可以再自己看看。

1 最关键的,当然就是Slave的权限问题。 很多在3/4 上能配置起来可到了5以后怎么也配置不起来的主要问题,就是Slave的权限。 以前只 Grant file 权限是不够的,必须有管理权限。否则你怎么配置也一样不能复制,这个就是关键。 在配置Salve端的时候 一定要给连接用户赋管理员权限,这个权限与数据库权限不同。 GRANT SUPER,REPLICATION CLIENT,REPLICATION SLAVE,RELOAD ON *.* TO repl@"%" IDENTIFIED BY 'repl_pass'; 如果你只为好玩,哪给你个建议不管哪端都 Grant all,这样应该最保险。不过这个只是自己开发测试用的偷懒方法,如果你真打算当作应用来使用。哪还是老老实实的一个个权限赋。

2 如果Master 和 Slave是在2个网段的机器,那么实际上Master的 remote user应该不止 Slave哪个ip的user。这个具体是为什么大家可以自己象,我举个列子 Master : 192.168.1.3 , Slave : 10.145.1.2

那么在Master上不光要配置一个 backup@ 10.145.1.2 还需要配置一个 backup@192.168.1.1 ,而且这个backup@192.168.1.1需要Slave client 的权限。具体为什么可以自己想,我只说明我在实际配置中遇到的情况。

3 关于双向Replications 的问题。 这里需要说明的server-id ,对于使用 Replications 功能,server-id 不能是<2的id,反正手册上说0是不可以的,我试验也的确不成,最好是设置大点。我的做法是master从99开始计数。slave都是连续-1。使用Replications必须 Master机my.ini/my.conf上添加 log-bin 这个参数。如果你要自己指定日志名称可以 log-bin= /user/xxxxx/longname 或者 log-bin= c: logname。这里要说明的是在windows上 文件路径是要写成 c:logname,不能有\。

4 另外需要注意的就是binlog产生后,如何设置同步点的问题。由于mysql 只会在第一次设置my.ini/my.conf文件的时候读取默认mysqld段中replications信息。因此一但产生了master.info信息,那么以后每次读取同步点信息都是从这个文件里读取,你怎么改mysqld里的配置信息都没有。所以才需要mysql 命令 master chang to +相应变量修改来修改同步点信息。 master.info信息在 data目录下,我没试过linux下mysql 的实际文件产生位置,应该差不多。如果需要修改同步配置信息。2个方法。最省事情的方法就是停掉mysql 的服务,然后删除master.info和log信息文件。这样mysql再下次启动的时候会重新读取mysqld里的信息。当然这有个前提,replication 动作已经是成功的。否则如故master_log_file和master_log_pos等等信息不对,那么就算重新配置了,你还是需要用change master to 来修改。 第二个方法就是用change master to 来修改。这个修改动作都是在slave 机器上进行的。首先你需要用 slave stop 停掉slave 服务,然后是change master to ,最后slave start.

5 replication 的数据库需要指定,在master 机器上用 binlog-do-db= dbname 来指定,这个参数可以重复多个,来指定多个数据库的replication .在slave 上用replicate-do-db=dbname 来指定。

6 最后一个可能遇到的问题就是怎么把master 机器的数据库load 到slave上。据说最省事的方法是 load data from master。不过我实验N 次都以失败告终。当然我遇到的问题,可能不是配置问题,而是数据库本身的问题,因为根据报错信息,好象我原来用的数据库中表里字段存在没有设置默认信息的。总是导了一个表就over掉了。这里顺便说一下,mysql 推出了migration toolkit工具,不过我发现这个东西并不象他说的那么好。对于异构数据库要求比较严格,个别是表结构语法都要求比较严格。个人认为用处不大。 我load数据的方法很简单,使用mysql 自己的administrator 工具,直接备份,然后restore到slave上。这里需要注意的是,我发现mysql目前对他自己view支持的也不是非常完善,view 的确可以使用,但在restore的时候总会出些奇怪问题,如果用他的工具看view 的source 也是不完整的。我估计他的ddl还是不够完善,不过有总比没有强。

7 关于 mysql 的版本问题,mysql 5.0说明上指出,新版本并不完全兼容老版本的replication ,所以master/slave的 mysql版本选择,最好不要搞的不一样。少麻烦的方法就都装同一个版本。这样不需要考虑版本兼容问题。

最后要说的是replication 配置能一次 ok的可能性不大,肯定要多试几次。出了问题注意多看mysql 自己的services log 。个人感觉mysql administraotr 这个工具很不错。如果配置不成功 slave 的log上总会有Error提示你为什么的。Mysql replication 配置目前我也只是知道一些皮毛,并不完全掌握。而且在使用中发现,曾经出现多次slave 不能正常停止,造成master整个replication库全都当掉,基本就是数据库被毁掉了。当然这个可能和我操作有很大关系,因为在配置的时候实验了很多方法。但个人感觉replication 功能虽然是可以用的,但用的时候一定要小心,特别是注意master机的备份工作,否则真要DB 嗖的一下不见了,后果...... 总之小心驶的万年船。

[/url]附注:

1. [url=http://art.21e.cn/tec/server/database/3950.html] http://art.21e.cn/tec/server/database/3950.html

2. http://www.21ds.net/article/database/MySQL/2005-06/09/584_1.html

3. http://dev.mysql.com/doc/refman/5.0/en/replication.html

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有