 使用 Docker 建立 MySQL 集群使用 Docker 建立 Mysql 集群 软件环境介绍 操作系统:Ubuntu server 64bit 14.04.1 Docker 版本 1.6.2 数据库:Mariadb 10.10 (Mariadb 是 MySQL 之父在 MySQL 被 Oracle 收购之后 创建的分支,性能上优于 MySQL 开源版本) 第一步 安装 Docker 对于 Ubuntu,建议直接联网安装 Docker 的用户及其对应密码 6,设定 TERM 环境变量的值可以解决容器不能进入 mysql 控制台的问题。 对于不是自己建立的镜像,建立出来的容器未必能一次达到要求,建议是将 run 命令写成脚本,创建后使用 docker inspect <容器名> 仔细查看容器信息,关注镜像公开的端口和文件目录。如果发现达不到要求,使 用 docker rm -f <容器名> 删除容器后修改 run 脚本再次运行,直到满意为止。 有自带 vi,所以在两 个容器内都需要: apt-get update apt-get install vim 这样我们才能在容器内修改配置文件。 还有一种方法,就是我们在主数据库容器中操作,之后,使用 docker commit <主数据库容器名> mariadb 这样再创建的容器就包含 vi 了。 3.3 为讲述方便,现在假设:我们有了连个数据库,mdb1 和 mdb2, mdb1 我们作为主0 码力 | 3 页 | 103.32 KB | 1 年前3 使用 Docker 建立 MySQL 集群使用 Docker 建立 Mysql 集群 软件环境介绍 操作系统:Ubuntu server 64bit 14.04.1 Docker 版本 1.6.2 数据库:Mariadb 10.10 (Mariadb 是 MySQL 之父在 MySQL 被 Oracle 收购之后 创建的分支,性能上优于 MySQL 开源版本) 第一步 安装 Docker 对于 Ubuntu,建议直接联网安装 Docker 的用户及其对应密码 6,设定 TERM 环境变量的值可以解决容器不能进入 mysql 控制台的问题。 对于不是自己建立的镜像,建立出来的容器未必能一次达到要求,建议是将 run 命令写成脚本,创建后使用 docker inspect <容器名> 仔细查看容器信息,关注镜像公开的端口和文件目录。如果发现达不到要求,使 用 docker rm -f <容器名> 删除容器后修改 run 脚本再次运行,直到满意为止。 有自带 vi,所以在两 个容器内都需要: apt-get update apt-get install vim 这样我们才能在容器内修改配置文件。 还有一种方法,就是我们在主数据库容器中操作,之后,使用 docker commit <主数据库容器名> mariadb 这样再创建的容器就包含 vi 了。 3.3 为讲述方便,现在假设:我们有了连个数据库,mdb1 和 mdb2, mdb1 我们作为主0 码力 | 3 页 | 103.32 KB | 1 年前3
 谈谈MYSQL那点事MyISAM MyISAM 特点 特点 MyISAM vs MyISAM vs InnoDB InnoDB • 数据存储方式简单,使用 数据存储方式简单,使用 B+ Tree B+ Tree 进行索引 进行索引 • 使用三个文件定义一个表: 使用三个文件定义一个表: .MYI .MYD .frm .MYI .MYD .frm • 少碎片、支持大文件、能够进行索引压缩 事务、外键约束等 • Table level lock Table level lock ,性能稍差,更适合读取多的操作 ,性能稍差,更适合读取多的操作 InnoDB InnoDB 特点 特点 •使用 使用 Table Space Table Space 的方式来进行数据存储 的方式来进行数据存储 (ibdata1, ib_logfile0) (ibdata1, ib_logfile0) • 查询 查询 事务管理 事务管理 数据库设计 数据库设计 数据分布 数据分布 网络 网络 操作系统 操作系统 硬件 硬件  使用好的硬件,更快的硬盘、大内存、多核 使用好的硬件,更快的硬盘、大内存、多核 CPU CPU ,专业的 ,专业的 存储服务器( 存储服务器( NAS NAS 、 、 SAN SAN ) )  设计合理架构,如果 设计合理架构,如果 MySQL0 码力 | 38 页 | 2.04 MB | 1 年前3 谈谈MYSQL那点事MyISAM MyISAM 特点 特点 MyISAM vs MyISAM vs InnoDB InnoDB • 数据存储方式简单,使用 数据存储方式简单,使用 B+ Tree B+ Tree 进行索引 进行索引 • 使用三个文件定义一个表: 使用三个文件定义一个表: .MYI .MYD .frm .MYI .MYD .frm • 少碎片、支持大文件、能够进行索引压缩 事务、外键约束等 • Table level lock Table level lock ,性能稍差,更适合读取多的操作 ,性能稍差,更适合读取多的操作 InnoDB InnoDB 特点 特点 •使用 使用 Table Space Table Space 的方式来进行数据存储 的方式来进行数据存储 (ibdata1, ib_logfile0) (ibdata1, ib_logfile0) • 查询 查询 事务管理 事务管理 数据库设计 数据库设计 数据分布 数据分布 网络 网络 操作系统 操作系统 硬件 硬件  使用好的硬件,更快的硬盘、大内存、多核 使用好的硬件,更快的硬盘、大内存、多核 CPU CPU ,专业的 ,专业的 存储服务器( 存储服务器( NAS NAS 、 、 SAN SAN ) )  设计合理架构,如果 设计合理架构,如果 MySQL0 码力 | 38 页 | 2.04 MB | 1 年前3
 Qcon北京2018--《MySQL的Docker容器化大规模实践》--王晓波2.随着业务的发展,扩容数据库的不方便不快捷,也是个问题。 3.大量数据量小的数据库系统也单独部署在物理机,浪费问题突出。 4.DBA的数据库自动化标准化运维的需求。 5.Docker在同程的大规模使用,应用部署环境100%容器化,有Docker丰富的经验 。 让数据库的部署点单化开启 2核4G 4核4G 4核8G 8核8G 8核16G 16核16G 16核64G 32核64G 32核128G Docker容器调度平台管理所有宿主机和容器,自定义Docker容器的分配算法。实现了MySQL的高密度,隔离 化,高可用化部署。 调度规则: 1.同一复制集群的实例在不同主机上。 2.优先分配CPU、内存、磁盘空间资源最空闲的主机。 3.根据IO需求调度容器创建在不同IO类型的主机。 4.申请新集群时,若IO要求高则按照宿主机的IO情况,优先选择IO最空闲的主机。 5.VIP集群必须主从端口一致,Proxy接入的集群端口无需一致。 就导致了一些问题,比如监控信息不准确、限制内存会导致应用程序OOM等。我们 基于lxcfs组件来增强容器的隔离性。 资源隔离 CPU最大超卖3倍,通过cpu-period配合cpu-quota一起使用,来限制容器的CPU的使用量 。比cpuset-cpus绑定CPU的方式灵活。 限制容器内存,且内存不超卖。通过—memory限制内存,同时结合MySQL自身参数控制 几个内存大户(比如buff0 码力 | 32 页 | 7.11 MB | 1 年前3 Qcon北京2018--《MySQL的Docker容器化大规模实践》--王晓波2.随着业务的发展,扩容数据库的不方便不快捷,也是个问题。 3.大量数据量小的数据库系统也单独部署在物理机,浪费问题突出。 4.DBA的数据库自动化标准化运维的需求。 5.Docker在同程的大规模使用,应用部署环境100%容器化,有Docker丰富的经验 。 让数据库的部署点单化开启 2核4G 4核4G 4核8G 8核8G 8核16G 16核16G 16核64G 32核64G 32核128G Docker容器调度平台管理所有宿主机和容器,自定义Docker容器的分配算法。实现了MySQL的高密度,隔离 化,高可用化部署。 调度规则: 1.同一复制集群的实例在不同主机上。 2.优先分配CPU、内存、磁盘空间资源最空闲的主机。 3.根据IO需求调度容器创建在不同IO类型的主机。 4.申请新集群时,若IO要求高则按照宿主机的IO情况,优先选择IO最空闲的主机。 5.VIP集群必须主从端口一致,Proxy接入的集群端口无需一致。 就导致了一些问题,比如监控信息不准确、限制内存会导致应用程序OOM等。我们 基于lxcfs组件来增强容器的隔离性。 资源隔离 CPU最大超卖3倍,通过cpu-period配合cpu-quota一起使用,来限制容器的CPU的使用量 。比cpuset-cpus绑定CPU的方式灵活。 限制容器内存,且内存不超卖。通过—memory限制内存,同时结合MySQL自身参数控制 几个内存大户(比如buff0 码力 | 32 页 | 7.11 MB | 1 年前3
 MySQL 8.0.17 调优指南(openEuler 20.09)System,关系数据库管理系 统)应用软件之一。 MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将 所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了 双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其 是开放源码这一特点,一般中小型网站的开发都选择 MySQL作为网站数据库。 某一方面性能 低,也许并不是它自己造成的,而是其他方面造成的。如CPU利用率是100%时, 很可能是内存容量太小,因为CPU忙于处理内存调度。 ● 一次只对影响性能的某方面的一个参数进行调整,多个参数同时调整的话,很难 界定性能的影响是由哪个参数造成的。 ● 由于在进行系统性能分析时,性能分析工具本身会占用一定的系统资源,如CPU 资源、内存资源等等。我们必须注意到这点,即分析工具本身运行可能会导致系 对于服务器端问题,需要定位的是硬件相关指标,例如CPU,Memory,Disk I/O,Network I/O,如果是某个硬件指标有问题,需要深入的进行分析。 4. 如果硬件指标都没有问题,需要查看数据库相关指标,例如:等待事件、内存命 中率等。 5. 如果以上指标都正常,应用程序的算法、缓冲、缓存、同步或异步可能有问题, 需要具体深入的分析。 瓶颈点 说明 硬件/规格 一般指的是CPU、内存、磁盘I/O方面的问题,分为服务器硬件瓶0 码力 | 11 页 | 223.31 KB | 1 年前3 MySQL 8.0.17 调优指南(openEuler 20.09)System,关系数据库管理系 统)应用软件之一。 MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将 所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了 双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其 是开放源码这一特点,一般中小型网站的开发都选择 MySQL作为网站数据库。 某一方面性能 低,也许并不是它自己造成的,而是其他方面造成的。如CPU利用率是100%时, 很可能是内存容量太小,因为CPU忙于处理内存调度。 ● 一次只对影响性能的某方面的一个参数进行调整,多个参数同时调整的话,很难 界定性能的影响是由哪个参数造成的。 ● 由于在进行系统性能分析时,性能分析工具本身会占用一定的系统资源,如CPU 资源、内存资源等等。我们必须注意到这点,即分析工具本身运行可能会导致系 对于服务器端问题,需要定位的是硬件相关指标,例如CPU,Memory,Disk I/O,Network I/O,如果是某个硬件指标有问题,需要深入的进行分析。 4. 如果硬件指标都没有问题,需要查看数据库相关指标,例如:等待事件、内存命 中率等。 5. 如果以上指标都正常,应用程序的算法、缓冲、缓存、同步或异步可能有问题, 需要具体深入的分析。 瓶颈点 说明 硬件/规格 一般指的是CPU、内存、磁盘I/O方面的问题,分为服务器硬件瓶0 码力 | 11 页 | 223.31 KB | 1 年前3
 Kubernetes Operator 实践 - MySQL容器化MySQL 配置 • 版本 • 端口 • 存储信息 • 配置文件 集群配置 • 副本数 • 高可用模式 K8s 调度信息 • 资源套餐 • 亲和性信息 • NodeSelector 使用 CRD 2. client-go 配套工具 apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: StatefulSet mysql-0 mysql-1 mysql-2 • Pod 名随机 • Pod 启动无序 • Pod 扩容无限制 如何调度 MySQL MySQL 更像“宠物”,使用 StatefulSet 调度 MySQL 容器 VS Deployment 散养 StatefulSet 精养 MySQL 容器化系统架构 REST CLI Kubernetes 2. 调度 pod Ceph MySQL-Operator 集群管理 Master High Availability Ø 目前最常用的高可用实现 Ø 支持大多数 MySQL 版本 Ø 使用 mysql 半同步复制 Ø 有数据丢失风险 Mysql Group Replication Ø MySQL 官方提供 Ø 5.7 新特性 Ø 基于 Paxos 协议 Ø 写入延迟相对高0 码力 | 42 页 | 4.77 MB | 1 年前3 Kubernetes Operator 实践 - MySQL容器化MySQL 配置 • 版本 • 端口 • 存储信息 • 配置文件 集群配置 • 副本数 • 高可用模式 K8s 调度信息 • 资源套餐 • 亲和性信息 • NodeSelector 使用 CRD 2. client-go 配套工具 apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: StatefulSet mysql-0 mysql-1 mysql-2 • Pod 名随机 • Pod 启动无序 • Pod 扩容无限制 如何调度 MySQL MySQL 更像“宠物”,使用 StatefulSet 调度 MySQL 容器 VS Deployment 散养 StatefulSet 精养 MySQL 容器化系统架构 REST CLI Kubernetes 2. 调度 pod Ceph MySQL-Operator 集群管理 Master High Availability Ø 目前最常用的高可用实现 Ø 支持大多数 MySQL 版本 Ø 使用 mysql 半同步复制 Ø 有数据丢失风险 Mysql Group Replication Ø MySQL 官方提供 Ø 5.7 新特性 Ø 基于 Paxos 协议 Ø 写入延迟相对高0 码力 | 42 页 | 4.77 MB | 1 年前3
 MySQL高可用 - 多种方案中那些东西 会影响高可用,以及了解各个高可用方案比较适合哪些场景,通过这些比对应该不难找 出适合自己公司的高可用 mysql 方案。 经常有网友问 mysql 高可用如何实现,希望得到一些能实际使用的可验证的高可用 方案。所以花了些时间对 mysql 高可用的几种常用方式做一下总结,及写出详细的配置 方案,方便网友学习以及验证,希望对大家学习 mysql 高可用有所帮助。这也是本文档 的目的所在 高可用方案测试 方案搭建好以后就要进行全方位的可靠性测试了,看看是否达到了我们的预期 效果,大致测试步骤如下:  停掉 master 上的 mysql,看看能否自动切换到 sorry_server,使用如下命 令查看:ipvsadm –ln。  停掉 master 上的 keepalived,看写 VIP 是否会迁移到 backup。  启动 master 上的 mysql,看是否能切换回 了我们的预期 效果,大致测试步骤如下:  停掉 master 上的 mysql,看看能写 IP 否自动切换到 sorry_server,看看读 IP 是否去掉了 master 的 mysql,使用如下命令查看:ipvsadm –ln。  停掉 master 上的 keepalived,看读写 VIP 是否会迁移到 backup 上。  启动 master 上的 mysql,看是否能切换回0 码力 | 31 页 | 874.28 KB | 1 年前3 MySQL高可用 - 多种方案中那些东西 会影响高可用,以及了解各个高可用方案比较适合哪些场景,通过这些比对应该不难找 出适合自己公司的高可用 mysql 方案。 经常有网友问 mysql 高可用如何实现,希望得到一些能实际使用的可验证的高可用 方案。所以花了些时间对 mysql 高可用的几种常用方式做一下总结,及写出详细的配置 方案,方便网友学习以及验证,希望对大家学习 mysql 高可用有所帮助。这也是本文档 的目的所在 高可用方案测试 方案搭建好以后就要进行全方位的可靠性测试了,看看是否达到了我们的预期 效果,大致测试步骤如下:  停掉 master 上的 mysql,看看能否自动切换到 sorry_server,使用如下命 令查看:ipvsadm –ln。  停掉 master 上的 keepalived,看写 VIP 是否会迁移到 backup。  启动 master 上的 mysql,看是否能切换回 了我们的预期 效果,大致测试步骤如下:  停掉 master 上的 mysql,看看能写 IP 否自动切换到 sorry_server,看看读 IP 是否去掉了 master 的 mysql,使用如下命令查看:ipvsadm –ln。  停掉 master 上的 keepalived,看读写 VIP 是否会迁移到 backup 上。  启动 master 上的 mysql,看是否能切换回0 码力 | 31 页 | 874.28 KB | 1 年前3
 MySQL 企业版功能介绍 使用 Oracle MySQL 服务云轻松设置、运行和管理云中的 MySQL  使用 MySQL 分组复制来确保数据库的高可用性  通过 MySQL 企业级可扩展性应对指数级增长的用户和数据量  通过 MySQL 企业级备份执行热备份和恢复,从而降低数据丢失的风险  通过 MySQL 企业级安全性来利用现有安全基础架构  使用加密、密钥生成和数字签名保护敏感数据 提高数据库性能和可用性  通过 MySQL Query Analyzer 查明影响数据库性能的 SQL 代码  使用超过 225 个 MySQL 顾问程序实施 MySQL 优秀实践  通过 MySQL Workbench 以可视化方式设计、开发、管理和迁移数据库  使用 MySQL Workbench 迁移向导将数据库迁移至 MySQL Oracle MySQL 服务云 数据库,针对性能进行优化;而自动扩展能够让用户弹性扩展 计算资源、存储资源和 MySQL 副本。 MySQL 数据库 MySQL 凭借经济高效、可靠、高性能且可扩展的电子商务、联机事务处理和嵌入式数据库应用 成为全球使用广泛的开源数据库。它是一种事务安全、符合 ACID 标准的集成式数据库,支持全 面的提交、回滚、崩溃恢复和行锁定功能。MySQL 不仅简便易用、易于扩展、性能卓越,而且 还提供了一整套数据库驱动程序和可视化工具,可帮助开发人员和0 码力 | 6 页 | 509.78 KB | 1 年前3 MySQL 企业版功能介绍 使用 Oracle MySQL 服务云轻松设置、运行和管理云中的 MySQL  使用 MySQL 分组复制来确保数据库的高可用性  通过 MySQL 企业级可扩展性应对指数级增长的用户和数据量  通过 MySQL 企业级备份执行热备份和恢复,从而降低数据丢失的风险  通过 MySQL 企业级安全性来利用现有安全基础架构  使用加密、密钥生成和数字签名保护敏感数据 提高数据库性能和可用性  通过 MySQL Query Analyzer 查明影响数据库性能的 SQL 代码  使用超过 225 个 MySQL 顾问程序实施 MySQL 优秀实践  通过 MySQL Workbench 以可视化方式设计、开发、管理和迁移数据库  使用 MySQL Workbench 迁移向导将数据库迁移至 MySQL Oracle MySQL 服务云 数据库,针对性能进行优化;而自动扩展能够让用户弹性扩展 计算资源、存储资源和 MySQL 副本。 MySQL 数据库 MySQL 凭借经济高效、可靠、高性能且可扩展的电子商务、联机事务处理和嵌入式数据库应用 成为全球使用广泛的开源数据库。它是一种事务安全、符合 ACID 标准的集成式数据库,支持全 面的提交、回滚、崩溃恢复和行锁定功能。MySQL 不仅简便易用、易于扩展、性能卓越,而且 还提供了一整套数据库驱动程序和可视化工具,可帮助开发人员和0 码力 | 6 页 | 509.78 KB | 1 年前3
 如何用 MySQL 构建全方位高可用应用和/或其附属公司。保留所有权利。 12 Enterprise Replication Monitor •自动搜索复制拓扑 •主/从性能监视 •复制指导 •有关最佳做法的复制建议 “我每天使用 MySQL Enterprise Monitor 监视和跟踪 MySQL 数据库。 该软件提供了快速的一站式服务, 可用来密切监视数据库。” -Wes Homer, 高级系统和网络管理员 4/16/2017 的服务器组合为一个群集 – 以 Oracle RAC 为核心 •Oracle Cluster 12c 包括 MySQL Server 代理 •对 MySQL 数据库进行计划内迁移 和自动故障转移 – 对使用受管 VIP 的应用程序不可见 – 共享存储,一次 1 个实例 4/16/2017 在 Oracle Clusterware 上部署 MySQL 17 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 Replication • MySQL Group Replication是什么? “任何一个都可以更新 MySQL的复制插件,内建 自动分化散式的回复,冲突处理,群组 成员管理 和分散式协议.” • 能为使用者做什么? – 免于处理资料库的故障移转. – 提供容错能力. – 使我们能设定在群组中所有的资料库都能更新. – 自动化群组设定 (在宕机时,失败时,和重新连线时的处理). – 提供高可用复制的资料库0 码力 | 40 页 | 2.19 MB | 1 年前3 如何用 MySQL 构建全方位高可用应用和/或其附属公司。保留所有权利。 12 Enterprise Replication Monitor •自动搜索复制拓扑 •主/从性能监视 •复制指导 •有关最佳做法的复制建议 “我每天使用 MySQL Enterprise Monitor 监视和跟踪 MySQL 数据库。 该软件提供了快速的一站式服务, 可用来密切监视数据库。” -Wes Homer, 高级系统和网络管理员 4/16/2017 的服务器组合为一个群集 – 以 Oracle RAC 为核心 •Oracle Cluster 12c 包括 MySQL Server 代理 •对 MySQL 数据库进行计划内迁移 和自动故障转移 – 对使用受管 VIP 的应用程序不可见 – 共享存储,一次 1 个实例 4/16/2017 在 Oracle Clusterware 上部署 MySQL 17 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 Replication • MySQL Group Replication是什么? “任何一个都可以更新 MySQL的复制插件,内建 自动分化散式的回复,冲突处理,群组 成员管理 和分散式协议.” • 能为使用者做什么? – 免于处理资料库的故障移转. – 提供容错能力. – 使我们能设定在群组中所有的资料库都能更新. – 自动化群组设定 (在宕机时,失败时,和重新连线时的处理). – 提供高可用复制的资料库0 码力 | 40 页 | 2.19 MB | 1 年前3
 MySQL 数据库架构灾难恢复解决方案and/or its affiliates. 16 / 55 复制增强功能 使 ClusterSet 成为可能的复制特性: 8.0.22 :异步复制通道的自动连接故障转移 8.0.23 :使用组复制的异步复制通道进行自动连接故障转移 8.0.24 :使skip-slave-start 成为全局、持久、只读的系统变量。 8.0.26 :组复制成员操作(主成员上可配置super_read_only) MySQL InnoDB ClusterSet -限制 • 需要服务器、路由器和Shell 版本 8.0.27 或更高 • InnoDB 集群仅支持单主模式 • 集群之间使用异步复制,而不是半同步(如果要求 RPO=0 ,则使用跨区域分布的单个 集群) Copyright @ 2021 Oracle and/or its affiliates. MySQL InnoDB ClusterSet0 码力 | 52 页 | 3.07 MB | 1 年前3 MySQL 数据库架构灾难恢复解决方案and/or its affiliates. 16 / 55 复制增强功能 使 ClusterSet 成为可能的复制特性: 8.0.22 :异步复制通道的自动连接故障转移 8.0.23 :使用组复制的异步复制通道进行自动连接故障转移 8.0.24 :使skip-slave-start 成为全局、持久、只读的系统变量。 8.0.26 :组复制成员操作(主成员上可配置super_read_only) MySQL InnoDB ClusterSet -限制 • 需要服务器、路由器和Shell 版本 8.0.27 或更高 • InnoDB 集群仅支持单主模式 • 集群之间使用异步复制,而不是半同步(如果要求 RPO=0 ,则使用跨区域分布的单个 集群) Copyright @ 2021 Oracle and/or its affiliates. MySQL InnoDB ClusterSet0 码力 | 52 页 | 3.07 MB | 1 年前3
 运维上海2017-从理论到实践,深度解析MySQL Group Replication -徐春阳Paxos��:! • 冲突检查是在执行消息(execute_msg)时发生.前提:消息已经被多数节 点接受。 • 所指的消息表示的是一个事务类型的消息,内容包含事务产生的binlog 以及冲突检测时使用到主键以及事务的数据快照版本(gtid_set) • 比较规则。将事务所涉及的主键以及数据版本信息(gtid_set)跟write set 里面的信息进行比较: 主键不存在与write0 码力 | 32 页 | 9.55 MB | 1 年前3 运维上海2017-从理论到实践,深度解析MySQL Group Replication -徐春阳Paxos��:! • 冲突检查是在执行消息(execute_msg)时发生.前提:消息已经被多数节 点接受。 • 所指的消息表示的是一个事务类型的消息,内容包含事务产生的binlog 以及冲突检测时使用到主键以及事务的数据快照版本(gtid_set) • 比较规则。将事务所涉及的主键以及数据版本信息(gtid_set)跟write set 里面的信息进行比较: 主键不存在与write0 码力 | 32 页 | 9.55 MB | 1 年前3
共 11 条
- 1
- 2













