MHA的补充和定制规划
之前画过一版MHA的故障图,最近和同事做了系统详细的测试,发现了一些问题,有些是预料之外的场景,有些是目前MHA没有更好的保证和实现,斟酌再三做了取舍。因为有些场景是组合出现的,比如网络波动,ssh不可达,但是已有的应用连接正常,那么这种情况就需要一些更全面的校验机制。所以MHA的测试如果简单那还...
MySQL创建表失败的问题
今天有一个朋友问我一个MySQL的建表问题,问题的现象是创建表失败,根据他的反馈,问题比较奇怪,CREATE TABLE XXX..此处省略260多个字段`xxxxIsAllowIn` varchar(4) COLLATE utf8_bin DEFAULT NULL COMMENT 'xx是否准入(是,否)',`xxxxIsAllowIn` varchar(30) COLLATE utf8_bin DEFAULT NULL COMMENT '...
MySQL偏移量的一点分析
在搭建MySQL主从的时候,change master是一个关键,如果没有使用GTID的方式,就需要使用偏移量和指定的binlog,每次需要手工去抓取这些信息,感觉还是比较费力,而且偏移量对我们来说就是一个黑盒子,到底递增多少,我们也不知道,只是给我们一个结果,但是搭建了一些环境之后,我突然发现了一些“规律”,比如下面...
停止MySQL服务hang的问题简单分析(一)
写第一篇,意味着还有第二篇的内容,这个也是自己今天偶然发现的问题。同事之前碰到了一个MySQL服务不断重启的问题,究其原因,其实倒还合理,今天的这个问题比较纠结,看起来好像没有直接的联系,问题算是比较诡异。我简单复现下这个问题,我在5.7.19的版本中做了测试,可以复现。首先搭建一主两从的测试环...
Python升级和兼容性配置
Python里面有个现象很奇怪,一般要学习Python都会纠结是学习2和3,这个差别和纠结Java5和Java6是完全不一样的,因为Python里面的兼容性确实是个问题,在《流畅的Python》中写道:Guido(Python之父,仁慈的独裁者)在设计 Python3 的过程中,受一篇文章 “Python warts” 的影响,决定不向后兼容,否则无法修复大多数缺陷...
聊聊加班的一些杂感
前几天看到前同事在朋友圈感慨:年龄大了,越来越感觉时间的不够用。想陪伴更多,想工作更好,晚上想加会班,又怕回家后孩子睡着了又感觉奶奶带一天孩子太累。所以现在加班,陪伴都成了奢侈的事情,身份越多,考虑的事情越多,不止一次感叹女儿长得太快,感叹我们和父母老去的太快,不过也感恩现在的一切,我...
Oracle和MySQL的高可用方案对比(一)
关于Oracle和MySQL的高可用方案,其实一直想要总结了,就会分为几个系列来简单说说。通过这样的对比,会对两种数据库架构设计上的细节差异有一个基本的认识。Oracle有一套很成熟的解决方案。用我在OOW上的ppt来看,是MAA的方案,今年是这个方案的16周年了。而MySQL因为开源的特点,社区里推出了更多的解决方案...
MySQL高可用方案MHA的一些总结和思考
MySQL高可用方案中MHA绝地是一个相当成熟的实现。对于数据的切换,其实MGR也能很好的完成,也就是说,数据层面的角色切换已经刻意很平滑的做好了,但是对于访问IP的处理,还是有很大的空间,MHA提供了很多可选的空间来支持。常见的组合方式有:MHA+VIPMHA+keepaliveMHA+Zookeeper当然MHA+VIP是一种很...
由小见大-MySQL脚本部署中的一些策略
在线上环境中部署脚本,可谓是常在河边走,哪有不湿鞋,所以大大小小的案例总结下来,还是会发现一些有趣的地方,这些可以作为操作时的一些参考,仅供参考而已。第一类脚本是修复脚本,比如提供的数据修复功能,数据补丁等,这类脚本的特点是后续的数据变更很可能会依赖于之前的操作,环环相扣。所以一旦执行过程...
MySQL备份和恢复工具图谱
之前没有认真整理,感觉备份工具就是mysqldump,xtrabackup了,但是如果认真想一想,其实会发现还是有很多其他丰富的功能。比如数据的逻辑导出,比如某个表的数据(全部,部分)等都可以很方便的实现,这些比那些备份工具来说要轻巧很多,方便迁移。把这些工具和方式都打通就会发现,可实现的功能点其实很...
MySQL 5.5复制升级到5.7的一点简单尝试
最近有个需求是升级MySQL 5.5到MySQL 5.7版本,为此我们想了一些方案,比如MySQL级联复制升级,这么考虑主要是基于版本的差异性,尽可能保持兼容。还有逻辑备份恢复,物理备份恢复的方案,当然无论如何体现业务价值才能使得技术价值更有意义。所以我们希望通过升级版本来尽可能使得线上版本统一的同时,带给业务...
我们的1024,自嗨一下
今天在地铁上看到,各种刷屏。哦,今天是10月24日了,1024的程序猿节日啊。我的脑海里面自动搜索出来了一首诗,来自青莲居士李白-早发白帝城,所以我会着重分析下这首诗,生活给了我力量,我从工作生活入手来解读,哈哈。上班路上早发白帝城唐(李白)朝辞白帝彩云间,千里江陵一日还。两岸猿声啼...
当Python字符串遇上MySQL
学习的时候我喜欢对比,MySQL和Oracle比,Python和MySQL比,总能有一些收获,也有了新的理解。今天整理这部分内容的时候,我发现Python和MySQL还是有很多相似之处。学习一门语言,一个数据库,字符串的处理都是一个相对重要的部分,所以我决定对比一下两者的差别。下面的演示会一边Python,一边MySQL,所以按照这个...
MySQL字符串中抽取数值的方法
MySQL的字符串函数非常多,以至于有时候我不知道该如何灵活的使用这些函数。字符串基本信息函数 collation convert,char_length等加密函数 password(x),encode, aes_encrypt字符串连接函数 concat(x1,x2,….)修剪...
zookeeper初探
大数据解决方案里面有一个组件是zookeeper,最开始看到这个的时候,脑海里不由得闪现出一个职业,动物园管理员。打开Apache里面的项目介绍,发现和我想的也差不多,看里面的测试目录确实都是各种动物,得管管了。现在谈到大数据,必然会谈到分布式,zookeeper就是分布式里面的一种解决方案,主要面向分布式应用程...
2011年的回忆
今天突然想起了自己已经很久没有登录的人人网,我的账号是最早51那个时候的,记得当时还个驻校代表来推广这个网站,就在中午吃完饭的时候顺手注册了一个。后来改成了校内,人人,我一直没有把用户名改成邮箱,倚老卖老,我的账号绝对是元老级的。 突然发现很久不登录,人人已经完全变了模样,登录成功...
从MySQL源码看日志命令失效的原因
今天看数据库内核月报,发现一个蛮有意思的问题,就是show binary logs的时候没有任何结果,这个问题的原因很简单,但是分析问题的过程相比是艰辛的,需要在各种潜在的可能中找到那个肯定的结果。当然这个问题带给我的最大福利不是解决了这个问题,而是通过这个问题我们可以换一个思路来分析,...
美国旧金山之行第二天
自己码了一篇文章,把精华和内容的改变发在了DBAplus公众号上面,感兴趣可以点击查看。DBA 3.0时代来了!原文如下,保留了一些是偏个人的内容,其实我在大早上还去伯克利大学去参观了下。到时候会整理一下发送出来。当国内还沉浸国庆小长假的人山人海中时,远在大洋彼岸的旧金山有一个IT盛会也是人山人海,没...
美国旧金山之行第三天
今天是OOW第二天,人数比第一天多了很多,从安保服务和周围的交通管制能够明显感觉的到。来点会议中的花絮内容吧早上Openworld有一个keynote,所以不到九点,会场外的人已经排起了长龙,场外也有大屏幕投影,想听也是没问题,仔细看照片左侧会发现场内惊现“科比”,哈哈。这是在中午听完最后一个主题后...
美国旧金山之行第四天
来到旧金山有几天了,也要到附近的商场走动一下,购购物嘛,我所住的地方算是旧金山的核心地段,值得一提的是,downtown的地理位置有些特别,我附近的这个街区有一条路相对来有些乱,昨天朝阳的车窗停在那儿还被砸了,我第一天来的时候,刚下地铁拐到这个路口,就看到几个黑人兄弟一直盯着我看,让人心里有些犯怵,问了下...