随笔分类 - MySQL
摘要:在MySQL 5.7版本,官方称为enhanced multi-threaded slave(简称MTS),复制延迟问题已经得到了极大的改进,可以说在MySQL 5.7版本后,复制延迟问题永不存在。 5.7的MTS本身就是:master基于组提交(group commit)来实现的并发事务分组,再由
阅读全文
摘要:select语句中where条件的提取过程 孔个个 依然,在整理where条件提取过程时,发现中文互联网上关于这一块的知识要么是存在错误自相矛盾的,要么是版本过老,遂自己整理了一版。 在验证这些内容的过程中走了很多弯路,而搞懂后便豁然开朗,这部分都写在文章中了,多数以注解的形式存在着。 所有SQL的
阅读全文
摘要:ICP,Index Condition Pushdown 理解ICP特性前,先去前面理解MRR特性,了解where条件中的三阶段提取: index key、index filter、table filter。 传送门:SQL 执行过程和where条件提取过程 MySQL 5.6以上支持,在index
阅读全文
摘要:Nested Loop Join → Block Nested-Loop Join → Batched Key Access 表Join时使用BNL/BKA,需要temporary。 BKA,Batched Key Access,批量索引访问 Batched Key Access (BKA) 和 B
阅读全文
摘要:MRR,Multi-Range Read,多范围读 孔个个 MRR在5.6版本开始支持,相关文章不少。但是读起来层次感差了一些,在这里我用自己的理解重新整理了一版。 这里参考了很多在网络上能找到的资料,才使我更全面的理解MRR,但时间有些久,并未记录出处,且多数文字并非原文,在此感谢所有默默分享知识
阅读全文
摘要:show engine innodb status 输出结果解读 基于MySQL 5.7.32 最近想整理一下show engine innodb status的解读,但是发现中文互联网上相关的信息要么是不完整,要么是有诸多错误,要么是版本过于老,很多新增条目并未包含,决定自己整理一份。 这里将 s
阅读全文
摘要:传送门:MySQL锁:01.总览 传送门:MySQL锁:02.InnoDB锁 传送门:MySQL锁:03.InnoDB行锁 通过索引实现行锁,在索引记录上加锁。 没有索引就无法实现行锁,升级成全表记录锁,等同于表锁。 理解InnoDB独特的行锁运行机制,认识特有的四种行锁粒度——lock_ordin
阅读全文
摘要:传送门:MySQL锁:01.总览 传送门:MySQL锁:02.InnoDB锁 传送门:MySQL锁:03.InnoDB行锁 InnoDB锁 默认是行锁(row lock) InnoDB是通过在索引记录上加锁,实现行锁 因此没有索引时就无法实现行锁,从而升级成全表记录锁,等同于表锁。 索引效率很低时锁
阅读全文
摘要:传送门:MySQL锁:01.总览 传送门:MySQL锁:02.InnoDB锁 传送门:MySQL锁:03.InnoDB行锁 锁如何发生,如何解除。 了解死锁的发生,和解决。 为什么数据库要有锁?作用和影响是什么?没有锁会怎样? MySQL里都有什么锁? MyISAM锁 InnoDB锁 锁类型 Inn
阅读全文
摘要:关于writeset,一直以来我都是所有节点同时配置下面参数: binlog_transaction_dependency_tracking=WRITESET transaction_write_set_extraction=xxhash64 但是这几天在尝试整理的时候,突然发现writeset的概
阅读全文
摘要:环境信息 hostname IP port role comm ms81 192.168.188.81 3399 master ms82 192.168.188.82 3399 slave ms83 192.168.188.83 3399 slave ms84 192.168.188.84 6033
阅读全文
摘要:环境信息 hostname IP port role comm ms81 192.168.188.81 3399 master ms82 192.168.188.82 3399 slave ms83 192.168.188.83 3399 slave ms84 192.168.188.84 6033
阅读全文
摘要:环境信息 IP port role info 192.168.188.51 4000 node1 master 192.168.188.52 4000 node2 slave1 192.168.188.53 4000 node3 slave2 CentOS Linux release 7.8.200
阅读全文
摘要:环境信息 IP port role info 192.168.188.81 3316 node1 master 192.168.188.82 3316 node2 slave1 192.168.188.83 3316 node3 slave2 CentOS Linux release 7.6.181
阅读全文
摘要:本篇知识点: 配置MGR所需的参数 使用MySQL Shell配置MGR shell.connect() var 设定临时变量 dba.createCluster() dba.getCluster() dba.addInstance() dba.removeInstance() dba.switch
阅读全文
摘要:实验:Xenon on 5.7.30 Xenon (MySQL Plus) 是青云Qingcloud的一个开源项目,号称金融级别强一致性的高可用解决方案,项目地址为 https://github.com/radondb/xenon 本实验笔记创建与Microsoft onenote , 转换到web
阅读全文
摘要:有binlog的CR方式(重点核心!!): 有binlog情况下,commit动作开始时,会有一个Redo XID 的动作记录写到redo,然后写data到binlog,binlog写成功后,会将binlog的filename,日志写的位置position再写到redo(position也会写到po
阅读全文
摘要:最近在研究MySQL,刚学到半同步。 半同步的配置中,关于这两个参数: rpl_semi_sync_master_wait_no_slave rpl_semi_sync_master_wait_for_slave_count 发现很不好搞懂,请教了一些老师,也做了一些资料搜索,每个人给我的答案都不同
阅读全文