免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1579 | 回复: 6
打印 上一主题 下一主题

请教主从数据库的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-10-23 17:58 |只看该作者 |倒序浏览
想问下:
1、每次主库被写入数据,就会生成一个binlog文件吗?多少个操作会写入一个binlog呢
2、binlog生成之后,是有主库的线程将这个文件发送到从库,还是从库自己来抓这个文件

谢谢

论坛徽章:
8
戌狗
日期:2014-09-26 16:39:44水瓶座
日期:2014-10-10 02:06:57金牛座
日期:2014-10-11 23:04:042015亚冠之首尔
日期:2015-06-23 15:37:0015-16赛季CBA联赛之天津
日期:2016-01-22 18:58:2915-16赛季CBA联赛之佛山
日期:2016-05-31 19:18:0815-16赛季CBA联赛之同曦
日期:2016-08-10 16:26:3315-16赛季CBA联赛之辽宁
日期:2018-01-10 11:47:40
2 [报告]
发表于 2009-10-23 18:33 |只看该作者
bin文件的生成一般是mysql重启过 或者是mysql出现错误挂了 或者是备份mysql数据库的指定了--flush-logs
复制的原理是master数据库开一个I/O线程用来发数据,从数据库开一个I/o进程用来同步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
3 [报告]
发表于 2009-10-23 19:21 |只看该作者
1、每次主库被写入数据,就会生成一个binlog文件吗?多少个操作会写入一个binlog呢
binlog产生新文件的原因:
a. 服务器重启
b. binlog超过设置的binlog文件大小上限。
c. flush log(手动触发,或者是mysqldump触发)

2、binlog生成之后,是有主库的线程将这个文件发送到从库,还是从库自己来抓这个文件
主库会产生一个与从库进行io通讯的线程,主库会从binlog中读取记录,并传输给从库。

论坛徽章:
0
4 [报告]
发表于 2009-10-26 10:57 |只看该作者

回复 #3 cenalulu 的帖子

不好意思
可能我描述的不清楚
我是想问主库生成的bin文件是怎么触发的,是每次对主库写入的时候就生成一个bin文件,下次写主库的时候,会生成另一个bin文件吗?

论坛徽章:
0
5 [报告]
发表于 2009-10-26 11:20 |只看该作者
原帖由 冰雪兰心 于 2009-10-23 17:58 发表
想问下:
1、每次主库被写入数据,就会生成一个binlog文件吗?多少个操作会写入一个binlog呢
2、binlog生成之后,是有主库的线程将这个文件发送到从库,还是从库自己来抓这个文件

谢谢



1.多少个操作会写入一个binlog
主要根据你的sync_binlog参数决定,具体的设置可以goolge,我比较懒
2。binlog生成之后,是有主库的线程将这个文件发送到从库,还是从库自己来抓这个文件
由主库通过广播通知从库更新,然后从库会自己来取新数据

论坛徽章:
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
6 [报告]
发表于 2009-10-26 11:36 |只看该作者
原帖由 冰雪兰心 于 2009-10-26 10:57 发表
不好意思
可能我描述的不清楚
我是想问主库生成的bin文件是怎么触发的,是每次对主库写入的时候就生成一个bin文件,下次写主库的时候,会生成另一个bin文件吗?


在每次insert delete update 操作执行成功后,binlog的写操作。
在写操作之前会判断,是否log已经超过设置的最大容量?
如果是,则flush log,写新的log;
如果不是,则写当前log。

与写主库的次数无关。

论坛徽章:
0
7 [报告]
发表于 2009-10-26 12:01 |只看该作者
二进制日值,实质上就是记录着对数据库有变化的操作,以使该操作可以有机会重现。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP