mysql 8.0 主从复制的优化
mysql 8.0复制改进
一简介: 基于GTID下的并行复制,本文不考虑MGR架构
二 主要特性
1 基于writeset的下的改进型并行复制
我在之前的一篇文章关于并行复制中详细的介绍了关于各个版本的并行复制改进,这里只着重再指出8.0的新特性
配置参数
slave-parallel-type=LOGICAL_CLOCK //复制方式
binlog_transaction_dependency_tracking = WRITESET(写复制) (需要在主库设置并且主库开始在二进制日志中存储写入writeset信息)
commit_order(默认,5.7并行复制)
WRITESET_SESSION(在写复制基础上增加session约束)
slave_parallel_workers=8 //复制线程
slave-preserve-commit-order=on //按照顺序提交,5.7原生机制的并行复制顺序同一时间内的顺序混乱,必须添加此参数进行顺序控制
1 过程 WRITESET 根据事务更新的每一行,计算一行hash,然后形成write_set集合.如果没有操作相同的行,hash值是不一样的,可以并发执行=>(唯一性索引名+库名+表名+值)
2 暂时不清楚采用writeset是否会丢失事务,但是理论上写集合的复制是效率最高的
2 复制参数特性
1 master_info_repository 和 relay_log_info_repository 默认设置为 TABLE,可以不必在配置文件中再进行标注
2 expire_log_days 的默认值也变成了 30
3 binlog_expire_log_seconds 默认(2592000,30天)更加细化的删除策略
4 slave_rows_search_algorithms 当表中不存在主键或主键等效(非空唯一二级索引)时,可以使用哈希表来避免重复的表扫描,防止出现之前的因为没有主键导致的主从延迟问题
5 gtid_executed已不用再搭建从库时执行清空,直接执行SET GTID_PURGED ="+gtid_set"即可
搭建从库方案
1 mysqldump --single-transaction=1 -A --master-data=2 > a.sql
2 mysql < a.sql && change master to && start slave
简化了流程
mysql 8.0 主从复制的优化的更多相关文章
- MySQL基础、主从复制、优化
MySQL apache公司 开源共享 免费 mysql [-hlocalhost] -uroot -p 以超级管理员的身份登录 use demo; 查看 DCL(数据库控制语言): DDL(数据库定 ...
- mysql 8.0 主从复制配置
背景: 主库: 192.168.211.128 从库: 192.168.211.129 一.关闭防火墙 [root@node01 ~]# systemctl disable firewalld [ro ...
- MySQL 并行复制演进及 MySQL 8.0 中基于 WriteSet 的优化
MySQL 8.0 可以说是MySQL发展历史上里程碑式的一个版本,包括了多个重大更新,目前 Generally Available 版本已经已经发布,正式版本即将发布,在此将介绍8.0版本中引入的一 ...
- mysql 8.0 ~ innodb与变量优化
一 innodb的优化 1 已完全不支持myisam引擎 2 将自增主键的计数器持久化到redo log中.每次计数器发生改变,都会将其写入到redo log中.如果数据库发生重启,InnoDB ...
- MySQL与MariaDB核心特性比较详细版v1.0(覆盖mysql 8.0/mariadb 10.3,包括优化、功能及维护)
注:本文严禁任何形式的转载,原文使用word编写,为了大家阅读方便,提供pdf版下载. MySQL与MariaDB主要特性比较详细版v1.0(不含HA).pdf 链接:https://pan.baid ...
- 为什么mysql要做主从复制?
为什么MySQL要做主从复制(读写分离)? 通俗来讲,如果对数据库的读和写都在同一个数据库服务器中操作,业务系统性能会降低. 为了提升业务系统性能,优化用户体验,可以通过做主从复制(读写分离)来减轻主 ...
- MySQL数据库基础知识及优化
MySQL数据库基础知识及优化必会的知识点,你掌握了多少? 推荐阅读: 这些必会的计算机网络知识点你都掌握了吗 关于数据库事务和锁的必会知识点,你掌握了多少? 关于数据库索引,必须掌握的知识点 目录 ...
- MySQL 8.0 新特性梳理汇总
一 历史版本发布回顾 从上图可以看出,基本遵循 5+3+3 模式 5---GA发布后,5年 就停止通用常规的更新了(功能不再更新了): 3---企业版的,+3年功能不再更新了: 3 ---完全停止更新 ...
- MySql in子句 效率低下优化
MySql in子句 效率低下优化 背景: 更新一张表中的某些记录值,更新条件来自另一张含有200多万记录的表,效率极其低下,耗时高达几分钟. where resid in ( ); 耗时 365s ...
随机推荐
- 搭建项目(Vue学习笔记一)
一.在搭建Vue项目之前首先要搞明白以下几个问题 1.Vue.js是什么 vue.js是一个脚本库. 2.webpack 模块打包机,分析项目结构,找到JavaScript模块以及其他的一些浏览器不能 ...
- C#中异步使用及回调
1. 一句话理解异步 我叫你去吃饭,叫完你不去,那我就会一直等你,直到你和我一起去吃饭.这叫同步! 我叫你去吃饭,叫完不管你去不去,我都不会等你,我自己去吃饭.这叫异步! 2. 异步使用 static ...
- 关于while read line 循环中变量作用域的问题
前一阵用shell写了一个从数据库中抽取数据生成.xml文件的脚本,要求是每个文件中只生成1000条数据.于是用到了while read line 作为循环. 在制作文件计数器的时候发现了一个问题,在 ...
- React Navigation基本用法
/** * Created by apple on 2018/9/23. */ import React, { Component } from 'react'; import {AppRegistr ...
- 运维seq语法2
2017-03-02 09:47:42 # seq 1 10结果是1 2 3 4 5 6 7 8 9 10例二:#!/bin/bashfor i in `seq 1 10`;doecho $i;d ...
- [转载] Fiddler为所欲为第三篇 封包逆向必备知识[三]
导语: 小A同学:会抓包有什么好学习的,不就用一个工具设置个wifi代{过}{滤}理就OK了嘛,还不是很多做不了.不如学习安卓逆向.didi科学家:不好意思,抓包可以为所欲为. 其实学习抓包,完完全全 ...
- 安装MySql 8.x版本客户端连接失败解决方案
---恢复内容开始--- 安装完8.0.11MySql数据库及客户端工具Navicat Premium 12(具体安装方法不详细赘述,自行百度,推荐网址:https://blog.csdn.net/c ...
- ejabberd之开题篇
ejabberd是基于Jabber/XMPP协议的即时通讯服务器.采用Erlang/OTP开发.它的特点是,跨平台,容错,集群和模块化. 因为自己本身是基于erlang工作,而且听到有不少的公 ...
- PC端的软件端口和adb 5037端口冲突解决方案
引用https://www.aliyun.com/jiaocheng/32552.html 阿里云 > 教程中心 > android教程 > PC端的软件端口和adb 50 ...
- Spring MVC 上下文(ApplicationContext)初始化入口
Spring 常用上下文容器有哪些 ApplicationContext ClassPathXmlApplicationContext ApplicationContext context = new ...