MySQL在线加索引引起的堵塞案例引出Online DDL锁分析
MySQL在线加索引引起的堵塞案例引出Online DDL锁分析案例: 线上一个sql查询,开发事先没商量就自己上线了.这个sql很简单就是一个简单select一张表然后两个字段的条件过滤,但问题是这两个字段都没有索引,导致每次都全表扫描,很慢. 发现这个慢查询后,去观察了这两个字段的字段的过...
结合案例说说5.7使用gtid同步后,mysql.gtid_executed引起的从库gtid断层
结合案例说说5.7使用gtid同步后,mysql.gtid_executed引起的从库gtid断层,从库重复拉取主库数据,导致数据在从库被重复执行;mysql.gtid_executed,5.7.5新增的这张表在5.7.5之前的版本中,开启gtid模式的同步,slave端必须要开启log_slave_updates,这是因为,当slave重启后无法得知当前slave已经运行到的GTID位置,因为变...
mysqldump一个小功能描述:参数net-buffer-length的使用
mysqldump的net-buffer-length有大师说mysqldump的net-buffer-length这个参数是个鸡肋,对与性能提升不是很大.之前也就没关注过.偶然一次测试.碰到了.就研究了下..其实还是很有用的(对于我们这种菜鸟来说).下面结合实例讲讲:讲net-buffer-length之前,先讲另外一个mysqldump的参数--extended-insert这个参数的意思就...
通过一个案例分析binlog的刷盘过程:大事物提交导致整库事物堵塞的分析.
案例描述: 一次线上误操作.将一个大表的数据清理到历史表.涉及历史数据有1600w,大约15个G的数据.当时偷懒,就直接insert into history select * from table where xxxx;这条sql执行了大概70分钟.执行过程中没有什么大问题.在提交那一刻,服务器负载飙升,mysql线程飙升到1500多(平时只有300多),大量事务提交...
mysql对于unique_checks的支持
日前在percona官方看到tokudb对与unique_checks的支持.就大概的看了下,也顺便测了下.unique_checkstokudb与innodb对于这个参数有很大区别.开启(unique_checks=1 or on)时没什么区别..都是要需要检查唯一性.关闭(unique_checks=0 or off)时,就有区别了在unique_checks关闭状态,不管什么引擎,有两个情况下,性能提升还是...
通过一个案例分析讲解mysql的auto_increment锁带来的表锁(innodb_autoinc_lock_mode)
案例描述:线上一张表有大概2亿条,50个G左右大小的数据,业务进行重新规划,需要将绝大部分数据进行历史归档.当时为了方便,就新建一张相同结构的表,然后快速的rename成线上表,然后将备份表需要导入到线上表的数据进行insert into select操作.结果,线上表产生表锁,业务全部堵住,发现情况时,已经没办法撤销insert操作(因为已经...
基于GTID的一主两从,主从切换案例分析(Got fatal error 1236 )
故障描述:一主两从,从库2个都连的主库,主库停机, 暂定为主库为A,从库一为B,从库二为C,从库B比从库C更靠后,现在将从库B设为主库,从库C去连从库B,但是C从库却无法同步:B从库:mysql> show master status\G*************************** 1. row *************************** &n...