Gdevops广州站归来
DBAplus社群年度的收官会议Gdevops在广州举办,我也应邀参加,每次技术大会和交流中,都会有新的认知和收获。今年是社群成立2周年,而这2年也是我个人快速成长的2年,简单一句:感谢DBAplus。来道尽我的祝福。早上开场的是老王的分享,老王深耕开源领域多年,有自己的自媒体品牌“Linux中国”,他分享的内容是如...
关于问题,看看我的朋友圈怎么说
对于问题,大家都不陌生,但是对于问题,从不同的角度来看待都会有不同的理解。今天就“问题”这个方向我求助了我的朋友圈,看到了下面的一些好的想法,共同参考。社会问题老龄化问题,将成为未来中国核心社会问题之一。不容乐观[鄙视]这个时代,已经不是你花二十多年的实践获得什么学位,然后这个社会就应该...
推荐一款任务调度的开源方案
在平时的工作中,我们多多少少会有一些定时任务需要处理,有些是在每个服务器上单独部署,有些是在中控端部署,但是这样有一个缺点就是难以形成闭环,我们不知道我们的定时任务是否执行成功,如果需要做信息统计,这个工作量还是蛮大的。简单来说,就是下面的痛点了:需要在每台linux服务器的crontab里一...
Django初探(二)
之前写过一篇Django的介绍,简单部署之后就没有深入跟进了。Django初探上周末去广州参加技术大会,在往返的飞机上,自己调试了下Django里面的内容。因为飞机上没有网络,所以自己的注意力就是依赖于官方文档,光是看Django的官方文档,自己就感觉到内容的庞大了,所以路还有很多要走。英文文档能够锻炼自己的...
关于自动化运维的思考-基线
DevOps几年前来看,基本都在提概念,这几年很多公司都在落地了,公司里每个自动化运维平台都不好意思。具体落实下来,做得好还是不好,水平也层次不齐。我们不说自动化运维的意义,不讨论要不要做自动化运维。做是肯定要做,然后每个人都会有一堆的问题或者想法冒出来,why,how,when,有想法是好的,最大的问题是不...
关于MySQL中的一些极限值的初步验证纠错
晚上从珠江边回来之后,看到一篇文章说,MySQL有几个极限值,一个表的字段最多只有1017个,我看了以后表示怀疑。怎么快速验证呢,我看到文章的时候已经11点了,只有不到1个小时的时间来验证了。我想不能通过手工的方式来做,写个简单的脚本,能实现功能即可。于是三下五除二,我写了下面的简单shelll脚本,跑一个循环,批...
感恩和情怀
今天下午的时候感觉很微妙,在配置自动化平台环境有些焦头烂额的时候,在一个虚拟机环境中偶然发现了一套Oracle学习环境,因为目前主要精力都在MySQL方向上,很久没有玩Oracle了,这次偶遇就好比老朋友相见,寒暄几句(配置服务),然后问问近况(连上数据库看看),我也拿出了之前写的一些脚本看看。找...
Oracle和MySQL的高可用方案对比(二)
对比 昨天聊了一篇关于高可用方案中Oracle的RAC和MySQL的MHA的对比。今天来说下Oracle的DG和MySQL的方案对比,相比来说,可能这方面MySQL会单薄一些,所以文末会说下InnoDB Cluster。在灾备的概念中,Oracle DBA喜欢叫做主备,即为Primary,Standby,而MySQL喜欢叫做主从,即为Master,Slave首先在Oracl...
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的程序猿节日啊。我的脑海里面自动搜索出来了一首诗,来自青莲居士李白-早发白帝城,所以我会着重分析下这首诗,生活给了我力量,我从工作生活入手来解读,哈哈。上班路上早发白帝城唐(李白)朝辞白帝彩云间,千里江陵一日还。两岸猿声啼...