文章 2017-12-12 来自:开发者社区

MySQL · 源码分析 · MySQL replication partial transaction

replication 概述 目前MySQL支持的replication方式多种多样 普通的master-slave 异步replication 半同步的semi-sync replication 支持多通道的group replication和double binlog 如果按连接协议来区分,又可以分为 非GTID模式,通过binlog文件名和文件的偏移来决定replication...

文章 2017-12-12 来自:开发者社区

MySQL · 源码分析 · InnoDB 异步IO工作流程

之前的一篇内核月报InnoDB IO子系统 中介绍了InnoDB IO子系统中包含的同步IO以及异步IO。本篇文章将从源码层面剖析一下InnoDB IO子系统中,数据页的同步IO以及异步IO请求的具体实现过程。 在MySQL5.6中,InnoDB的异步IO主要是用来处理预读以及对数据文件的写请求的。而对于正常的页面数据读取则是通过同步IO进行的。到底二者在代码层面上的实现过程有什么样的区别? 接....

MySQL · 源码分析 · InnoDB 异步IO工作流程
文章 2017-12-12 来自:开发者社区

MySQL · 源码分析 · InnoDB Repeatable Read隔离级别之大不同

开始介绍之前,先让我们了解一些基本概念。ANSI SQL STANDARD定义了4类隔离级别(READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ, SERIALIZABLE),包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级别一般支持更高的并发处理,并拥有更低的系统开销。 Read Uncommitted(读.....

MySQL · 源码分析 · InnoDB Repeatable Read隔离级别之大不同
文章 2017-12-12 来自:开发者社区

MySQL · 源码分析 · Tokudb序列化和反序列化过程

序列化和写盘 Tokudb数据节点写盘主要是由后台线程异步完成的: checkpoint线程:把cachetable(innodb术语buffer pool)中所有脏页写回 evictor线程:释放内存,如果victim节点是dirty的,需要先将数据写回。 数据在磁盘上是序列化过的,序列化的过程就是把一个数据结构转换成字节流。 写数据包括两个阶段: 序列化:把结构化数据转成字节流 ...

文章 2017-11-15 来自:开发者社区

MySQL解析器源码分析--对select语句中子查询处理逻辑的分析(一)

背景 一个最简单的select语句包含select子句、from子句、where子句等,这些子句都不包含子查询(subselect),也没有union操作。而复杂的select语句包含select子句、from子句、where子句(这些子查询可以y是最简单的select语句也可以y是复杂的select语句),同时select语句中可能包含union,即将数个select子句联合在一起。MySQL....

文章 2017-11-08 来自:开发者社区

MySQL解析器源码分析--对select语句中子查询处理逻辑的分析(二)

(接上文) 下面以一个简单的SQL作为例子来讲解。 例如: Select * from tt where tt.id in (select id from tt1) union select * from tt1; SQL在经过解析后的类间关系如下图:     MySQL解析器相关处理逻辑   MySQL解析器在分析到SQL存在union或者select子句,from...

文章 2017-04-21 来自:开发者社区

MySQL · 源码分析 · MySQL 半同步复制数据一致性分析

简介 MySQL Replication为MySQL用户提供了高可用性和可扩展性解决方案。本文介绍了MySQL Replication的主要发展历程,然后通过三个参数rpl_semi_sync_master_wait_point、sync_binlog、sync_relay_log的配置简要分析了MySQL半同步的数据一致性。 MySQL Replication的发展 在2000年,MyS...

MySQL · 源码分析 · MySQL 半同步复制数据一致性分析
文章 2017-03-21 来自:开发者社区

MySQL · 源码分析 · MySQL BINLOG半同步复制数据安全性分析

半同步复制(semisynchronous replication)MySQL使用广泛的数据复制方案,相比于MySQL内置的异步复制它保证了数据的安 全,本文从主机在Server层提交事务开始一直到主机确认收到备机回复进行一步步解析,来看MySQL的半同步复制是怎么保证数 据安全的。本文基于MySQL 5.6源码,为了简化本文只分析DML的核心的事务处理过程,并假定事务只涉及innodb存储引擎....

文章 2017-03-08 来自:开发者社区

MySQL · 源码分析 · 词法分析及其性能优化

Table of Contents 1. 简介 2. 背景知识 3. 查找树的实现 3.1. 树的查找 3.2. 树的产生 4. 试试折半查找 5. 总结 简介 MySQL 支持标准的 SQL 语言,具体实现的时候必然要涉及到词法分析和语法分析。早期的程序可能会优先考虑手工实现词法分析和语法分析,现在大多数场合下都会采用工具来简化实现。MySQL、PostgreSQL 等...

MySQL · 源码分析 · 词法分析及其性能优化
文章 2017-03-08 来自:开发者社区

MySQL · 源码分析 · 无法revoke单库或单表权限

现象 对于拥有全局权限的用户,无法revoke单库或单表的权限,示例如下 mysql> grant select on *.* to 'xx1'@'localhost'; Query OK, 0 rows affected (0.00 sec) mysql> revoke select * test.* from 'xx1'@'localhost'; ERROR 1141 (42...

MySQL · 源码分析 · 无法revoke单库或单表权限

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。