【案例】主从替换之后的复制风暴
一套MySQL主-备-备-备数据库,其中的备库升级到主库之后,系统监控报警 Seconds_Behind_Master 瞬间为0,瞬间为数十万秒。第一感觉是遇到了复制风暴--不同于主备server_id 的log event在主备库之间无限循环复制。本文以报警为切入点,详细阐述了问题的原理和解决方法。
【机会】蘑菇街招聘DBA
帮蘑菇街的朋友招聘 MySQL 资深DBA ?
【MySQL】MySQL5.6新特性之crash-safe
MySQL 5.6 针对复制功能提供了新特性: slave支持crash-safe. 该功能可以解决之前版本中系统异常断电可能导致的SQL thread 信息不准确的问题。本文从原理方面对该特性进行介绍。
【机会】知乎招DBA
提供一个高质量的DBA 招聘机会 。
【MySQL】MySQL5.6新特性之Batched Key Access
MySQL 5.6版本提供了很多性能优化的特性,其中之一是关于提高表join性能的算法 --- Batched Key Access (BKA) ,本文将结合之前写过MRR,BNL优化特性一起来详细介绍该算法。
【MySQL】Got fatal error 1236原因和解决方法
MySQL 的主从复制作为一项高可用特性,用于将主库的数据同步到从库,在维护主从复制数据库集群的时候,作为专职的MySQL DBA,大多数人都会遇到 “Got fatal error 1236 from master when reading data from binary log” 这类的报错/报警。本文整理了常见的几种 error 1236 报错,并给出相应的解决方法,有所不足之处,当然也希望各位读者朋友指正。
【MySQL】MySQL性能优化之Block Nested-Loop Join(BNL)
相信许多开发/DBA在使用MySQL的过程中,对于MySQL处理多表关联的方式或者说性能一直不太满意。对于开发提交的含有join的查询,一般比较抗拒,从而建议将join拆分,避免join可能带来的性能问题,同时也增加了程序和DB的网络交互。在5.5以后的版本中,MySQL通过引入BNL算法来优化嵌套执行,本文介绍两种join算法 Nested-Loop Join (NLJ) 和Block Nested-Loop Join(BNL) .
【案例】BNL算法导致性能下降一则
前面介绍了BNL算法,相信不少人会认为BNL会有利于数据库性能的提升(我也是这么认为滴),本文讲述一例生产上因为升级使用BNL 算法导致性能下降的案例。
【MySQL】MySQL5.6新特性之Multi-Range Read
Multi-Range-Read优化的好处,简称MRR,目的是减少磁盘的随机访问,把随机访问转化为比较顺序的访问,对于IO-bound类型的SQL有很大的性能提升。Multi-Range-Read优化适用于range/ref/eq_ref类型的查询。
【MySQL】replace into 浅析之二
本章内容通过一个例子说明 replace into 带来的潜在的数据质量风险,当涉及replace into操作的表含有自增主键时,主备切换后会造成数据覆盖等不一致的情况发生,并给出具体的解决方法,希望对读者朋友有所帮助。
【MySQL】replace into 浅析之一
在笔者支持业务过程中,经常遇到开发咨询replace into 的使用场景以及注意事项,这里做个总结。从功能原理,性能和注意事项上做个说明。
【感想】DTCC大会有感
好久没有沉淀文章了,4.15-4.18 去北京参加了DTCC 大会,没有能够全部参加所有的场次,选择了其中自己感兴趣的场次,主要是偏运维 和MySQL ,Oracle,云计算数据库相关的,说一下自己的一些感想和思考,有所不足 ,还请各位指正 。
【案例】常驻查询引发的thread pool 性能问题之一
MySQL 的threadpool 新特性在海量高并发业务场景下极大的提高的系统并发性能,当然生产环境使用过程中也遇到种种问题,本文讲述一列 由于类似于 binlogdump 长连接导致系统系能抖动的问题,通过调整thread_pool_oversubscribe 参数解决
【案例】利用innodb_force_recovery 解决MySQL服务器crash无法重启问题
本文介绍了一例由于数据库服务器crash,然后通过非常规手段解决数据库日志文件损坏无法恢复的案例。
【工具】利用python 发送MySQL 慢日志邮件
使用python 定期发送慢日志给开发
【案例】slave_net_timeout 问题一则
本文由 一个简单的业务报警,向下推演,介绍了MySQL 复制重连的机制 ,slave_net_timeout 参数的含义。
【编程】java jdbc/ojdbc 链接oracle的三种方式
前言 本文是一篇学习笔记,学习如何通过java jdbc /ojdbc 连接oracle的几种方式。一 使用方法方法一:使用service_name 连接oracle jdbc:oracle:thin:@//<host>:<port>/<service_name> 例如: jdbc:oracle:thin:@//10.10.10.1:1521/TDB注意这里的格式,@后面有//, 这是与使用SID的主要区别。对于集群...
【工具】tsar 监控Linux系统状态的利器
tsar(Taobao System Activity Reporter)可将收集到的数据存储在磁盘上,另外可以支持将数据存储到MySQL中,也可将数据发送到Nagios报警服务器。在展示数据层面,可以指定模块,并且支持对多条信息的数据进行Merge输出,如果带--live参数,还可以输出秒级的实时信息。tsar 可以监控CPU、IO、内存、TCP等系统状态,也可监控Apache、Nginx/Tengine、Squid等服务器状态。
【系统架构】如何解决热点数据更新问题
在电商类业务中数据库的热点/单点更新 一直是DBA和业务方比较关心的问题,它最直观的影响用户体验,比如商品的超卖,系统的可用性。需要不断的细化解决思路和具体实现比如 热点商品的属性是否实时更新 ,库存数量需要实时展示,访问次数,请求次数可以异步延迟展示。本文只是简单阐述了 对热点更新的解决思路,还有不完善的地方,欢迎补充。.
【python】多线程编程中join函数的用法
在学习python 多线程编程的时候,一定会使用一个函数join,本章内容通过例子讲述join 在多线程编程中有哪些作用。