楼主: ono888

某知名电商的两道关于MYSQL主从的面试题

[复制链接]
论坛徽章:
3
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15ITPUB 11周年纪念徽章
日期:2012-10-09 18:07:31
11#
 楼主| 发表于 2012-9-28 14:56 | 只看该作者
对,就是这个原因,开始以为log_slave_udpate的时候2号机器会吧server-id更新为2

使用道具 举报

回复
论坛徽章:
25
ITPUB元老
日期:2005-02-28 12:57:00咸鸭蛋
日期:2013-02-07 11:51:42咸鸭蛋
日期:2013-02-08 09:48:51蜘蛛蛋
日期:2013-02-21 15:47:392013年新春福章
日期:2013-02-25 14:51:24咸鸭蛋
日期:2013-02-28 17:08:42蜘蛛蛋
日期:2013-03-29 16:17:14双黄蛋
日期:2013-04-11 16:11:04咸鸭蛋
日期:2013-05-07 11:55:14咸鸭蛋
日期:2013-05-28 10:46:24
12#
发表于 2012-9-28 14:58 | 只看该作者
ono888 发表于 2012-9-28 14:47
偏激的人真多,保留自己的意见可以,麻烦说话不要这么难听,觉得没意义也可以不讨论,你回哪门子的帖子啊 ...

面试应该一个人的知识面,潜力,个人能力等,你可以问应试者解决个什么问题,而不是把自己解决过的问题考应试者

使用道具 举报

回复
论坛徽章:
1
ITPUB 11周年纪念徽章
日期:2012-10-09 18:11:48
13#
发表于 2012-9-28 15:41 | 只看该作者

使用道具 举报

回复
论坛徽章:
4
ITPUB十周年纪念徽章
日期:2011-11-01 16:26:292012新春纪念徽章
日期:2012-01-04 11:57:56奥运会纪念徽章:铁人三项
日期:2012-09-20 15:17:43ITPUB 11周年纪念徽章
日期:2012-10-09 18:16:00
14#
发表于 2012-9-28 16:21 | 只看该作者
mark下

使用道具 举报

回复
论坛徽章:
14
2011新春纪念徽章
日期:2011-04-02 17:01:062013年新春福章
日期:2013-02-25 14:51:24复活蛋
日期:2012-12-06 19:27:46ITPUB 11周年纪念徽章
日期:2012-10-09 18:16:00ITPUB 11周年纪念徽章
日期:2012-09-28 17:34:42紫蛋头
日期:2012-03-13 16:37:18灰彻蛋
日期:2012-02-06 14:20:122012新春纪念徽章
日期:2012-01-04 11:57:56灰彻蛋
日期:2011-12-26 14:20:13茶鸡蛋
日期:2011-12-20 15:00:13
15#
发表于 2012-9-28 16:45 | 只看该作者
这个题有意思,

使用道具 举报

回复
论坛徽章:
3
优秀写手
日期:2014-03-12 06:00:13暖羊羊
日期:2015-03-04 14:53:002015年新春福章
日期:2015-03-06 11:58:39
16#
发表于 2012-9-28 19:06 | 只看该作者
mchdba 发表于 2012-9-28 13:16
service-id都是唯一的。

第一个主从架构问题,这个在淘宝希雨的网页上有从源码的角度给你分析的原因,sericeid相同的情况,建议你去读读;第二种情况,因为我也没有实际运维过系统,但是感觉不会出现第一种的情况,至于有没有其他的问题,我感觉似乎没有

使用道具 举报

回复
论坛徽章:
11
鲜花蛋
日期:2011-09-03 18:52:38鲜花蛋
日期:2011-11-09 10:10:12茶鸡蛋
日期:2011-11-19 22:46:41茶鸡蛋
日期:2011-12-14 15:16:572012新春纪念徽章
日期:2012-01-04 11:57:56奥运会纪念徽章:赛艇
日期:2012-09-26 21:40:11ITPUB 11周年纪念徽章
日期:2012-10-09 18:16:002013年新春福章
日期:2013-02-25 14:51:24
17#
发表于 2012-9-28 21:09 | 只看该作者
第一,一个复制集群里面有多个节点server-id相同是不安全的做法,假设不出任何意外,那能正常复制。
第二,第一条假设的是不出任何意外,假如master 宕机了需要从slave提升一个做新的master,复制很有可能就出问题了,因为无论何时,slave在执行master上过来的binlog时,如果与自己server-id一致的event就不会被执行,因此如果主从master-id一致的话,binlog event就不会执行,数据也就丢了(当然在master和slave的配置文件都指定同样的master-id好像复制都是无法正常启动的)

使用道具 举报

回复
论坛徽章:
1
ITPUB 11周年纪念徽章
日期:2012-10-09 18:11:48
18#
发表于 2012-9-29 08:48 | 只看该作者
1的问题是,slave的id都是2。如果master挂掉,那么slave之间可能要搭建复制,由于server-id相同,所以搭建复制会有问题。
2的问题是:最左边的数据库binlog传到第二个没有问题,传到最右边的MySQL,它会自动丢弃所有最左边的MySQL产生的binlog,而不会应用到自己上面来。这种情况很可能发生。比如你在杭州做了A<->B双master。异地备份时,做级联复制,一不小心又把server-id设置成A或者B一样的。就是这种情况。
另外,不得不吐槽一下。这个电商出的题目感觉并不是大家说的,毫无道理。如果你管理着成百上千台MySQL服务器。上面的这种问题就很容易被发现。你在规模小的时候可以手工设置MySQL的server-id,那么你有没有考虑过成百上千台的MySQL服务器需要设置server-id要怎么设置比较合理?并且要求是自动产生的。这个题目出的意图,我猜是想考察你有没有管理过较多的MySQL instance和服务器。

使用道具 举报

回复
论坛徽章:
25
ITPUB元老
日期:2005-02-28 12:57:00咸鸭蛋
日期:2013-02-07 11:51:42咸鸭蛋
日期:2013-02-08 09:48:51蜘蛛蛋
日期:2013-02-21 15:47:392013年新春福章
日期:2013-02-25 14:51:24咸鸭蛋
日期:2013-02-28 17:08:42蜘蛛蛋
日期:2013-03-29 16:17:14双黄蛋
日期:2013-04-11 16:11:04咸鸭蛋
日期:2013-05-07 11:55:14咸鸭蛋
日期:2013-05-28 10:46:24
19#
发表于 2012-9-29 09:44 | 只看该作者
本帖最后由 kerlion 于 2012-9-29 09:45 编辑
pickup112 发表于 2012-9-29 08:48
1的问题是,slave的id都是2。如果master挂掉,那么slave之间可能要搭建复制,由于server-id相同,所以搭建复 ...


我觉得instance越多,越不可能忽略id重复的问题,因为管理上必须加强,很多可能都是程序或脚本实现的。反而是几个实例,手工管理用以出错。
反而我觉得是故意要这么做,比如几个对等的writer+100个只读的slave,从简化管理上,我们可能要求使用一样的配置文件,就有了使用相同id的需要

使用道具 举报

回复
论坛徽章:
1
ITPUB 11周年纪念徽章
日期:2012-10-09 18:11:48
20#
发表于 2012-9-29 09:51 | 只看该作者
是的,有些时候确实需要故意设置相同的server-id来忽略一些binlog的。对于第一个的问题的答案,说实话,可能需要原出题人现身说法了

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表