免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 7829 | 回复: 29

mysql多库同步 [复制链接]

论坛徽章:
0
发表于 2012-05-07 16:51 |显示全部楼层
各位,我做了一个数据库主从同步,之前只需要同步一个库test1,但现在新增加了一个库test2,那么现在我需要在从库上同步两个库

我同一个库用:
server-id = 2
replicate-do-db = test1
auto-increment-increment = 2
auto-increment-offset = 2

那么现在我要同步两个库,我应该怎么写??

论坛徽章:
0
发表于 2012-05-07 16:54 |显示全部楼层
回复 1# oulinhl


你这是一主多从?

论坛徽章:
0
发表于 2012-05-07 16:55 |显示全部楼层
回复 1# oulinhl


    多写一行replicate-do-db。然后做相应的同步操作。

论坛徽章:
9
每日论坛发贴之星
日期:2016-01-04 06:20:00数据库技术版块每日发帖之星
日期:2016-01-04 06:20:00每日论坛发贴之星
日期:2016-01-04 06:20:00数据库技术版块每日发帖之星
日期:2016-01-04 06:20:00IT运维版块每日发帖之星
日期:2016-01-04 06:20:00IT运维版块每日发帖之星
日期:2016-01-04 06:20:00综合交流区版块每日发帖之星
日期:2016-01-04 06:20:00综合交流区版块每日发帖之星
日期:2016-01-04 06:20:00数据库技术版块每周发帖之星
日期:2016-03-07 16:30:25
发表于 2012-05-07 17:22 |显示全部楼层
回复 1# oulinhl

修改配置:
    replicate-do-db = test1,test2 即可

论坛徽章:
0
发表于 2012-05-07 17:56 |显示全部楼层
回复 4# cenalulu

我这样做过,但是只有test1能数据同步,test2没有数据同步过去!

我刚开始做的是主主同步,后来把主上的同步停止了,做了主从模式

如果现在要做两个库同步,在主上需要修改配置吗??

   

论坛徽章:
9
每日论坛发贴之星
日期:2016-01-04 06:20:00数据库技术版块每日发帖之星
日期:2016-01-04 06:20:00每日论坛发贴之星
日期:2016-01-04 06:20:00数据库技术版块每日发帖之星
日期:2016-01-04 06:20:00IT运维版块每日发帖之星
日期:2016-01-04 06:20:00IT运维版块每日发帖之星
日期:2016-01-04 06:20:00综合交流区版块每日发帖之星
日期:2016-01-04 06:20:00综合交流区版块每日发帖之星
日期:2016-01-04 06:20:00数据库技术版块每周发帖之星
日期:2016-03-07 16:30:25
发表于 2012-05-07 18:10 |显示全部楼层
回复 5# oulinhl


    确认下你的主上有没有配置 binlog-do-db? 如果有的话也需要做相应修改。也可以用mysqlbinlog直接grep查看有没有test2库的DML
PS: 这两个配置都需要重启mysql服务生效,可以通过show slave status 确认修改是否生效。

论坛徽章:
0
发表于 2012-05-07 18:17 |显示全部楼层
回复 6# cenalulu

我做主主同步时,两台服务器配置如下:
A:
server-id = 1
replicate-do-db = test1
auto-increment-increment = 2
auto-increment-offset = 1

B:
server-id = 2
replicate-do-db = test1
auto-increment-increment = 2
auto-increment-offset = 2

现在A服务器上新增了一个库test2
在A上没有做任何修改,并停止了同步功能‘stop slave’,在B上修改my.cnf,如下:
server-id = 2
replicate-do-db = test1,test2
auto-increment-increment = 2
auto-increment-offset = 2
然后重启数据库
通过show slave status\G;查看没有报错

但验证数据库数据后,发现test1有数据同步,而test2并没有数据同步!!

请问大家我还有什么配置不对吗?或者在A上需要修改什么配置吗???

   

论坛徽章:
0
发表于 2012-05-07 19:21 |显示全部楼层
回复 7# oulinhl


    因为你之前没有同步另外一个库,导致对那个库变更的二进制log没有复制过来。可以重新从主库中导出那个库,然后倒入到从上。或者最简单的直接导出你要同步的两个库,注意导出需要指定--master-data=2参数。导入从后,采用change master重新做同步。

论坛徽章:
9
每日论坛发贴之星
日期:2016-01-04 06:20:00数据库技术版块每日发帖之星
日期:2016-01-04 06:20:00每日论坛发贴之星
日期:2016-01-04 06:20:00数据库技术版块每日发帖之星
日期:2016-01-04 06:20:00IT运维版块每日发帖之星
日期:2016-01-04 06:20:00IT运维版块每日发帖之星
日期:2016-01-04 06:20:00综合交流区版块每日发帖之星
日期:2016-01-04 06:20:00综合交流区版块每日发帖之星
日期:2016-01-04 06:20:00数据库技术版块每周发帖之星
日期:2016-03-07 16:30:25
发表于 2012-05-07 19:52 |显示全部楼层
如果slave上没有test2这个库,show slave status应该是会报错的。
感觉是楼主的mysqlbinlog里就没有记test2相关的binlog。

mysqlbinlog binlog-file.log --database=test2 |more
看看有没有SQL 输出,至少先确定,test2相关的DML被记录下来了。

论坛徽章:
0
发表于 2012-05-08 09:26 |显示全部楼层
回复 8# 飞鸿无痕


  请教: 如果是直接将两个库test1,test2导出来再导入从库重新做同步的话,直接master-data=1不是更直接吗?这样一来从库就不需要手动再执行change master了。如果我理解不正确,欢迎指教。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP