【Mysql】mysql公开课之-mysql5.7复制特性
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,GTID的基础知识BEGIN;INSERT INTO innodb_tbl(…);INSERT INTO myisam_tbl(…);COMMIT;在事务中使用临时表BEGIN;INSERT INTO
千家信息网最后更新 2025年11月07日【Mysql】mysql公开课之-mysql5.7复制特性
在事务中使用临时表 BEGIN;
INSERT INTO innodb_tbl(…);
CREATE TEMPORARY TABLE temp1;
...
COMMIT;
小技巧
Mysql5.7多线程并发复制
GTID的基础知识
- BEGIN;
INSERT INTO innodb_tbl(…);
INSERT INTO myisam_tbl(…);
COMMIT;
INSERT INTO innodb_tbl(…);
CREATE TEMPORARY TABLE temp1;
...
COMMIT;
小技巧
- 启用GTID前,检测系统中是否有GTID不支持的语句/事务,提前处理。
全局系统变量enforce-gtid-consistency
OFF 不检测是否有GTID不支持的语句/事务
WARN 当发现不支持的语句/事务时,返回警告,并在日志中记录警告信息。
ON 当发现语句/事务不支持GTID时,返回错误。 ----所以上面报错了
在线上的数据库服务器或测试环境中,开启WARN模式。 - +---------+------+---------------------------------------------------------------+
| Level | Code | Message |
+---------+------+---------------------------------------------------------------+
| Warning | 1786 | Statement violates GTID consistency: CREATE TABLE ... SELECT. |
+---------+------+---------------------------------------------------------------+
2016-07-11T10:48:34.627976Z 2 [Warning] Statement violates GTID consistency: CREATE TABLE ... SELECT.
处理完GTID不支持的语句后,再启用GTID。
- 连接:
- http://blog.itpub.net/29096438/viewspace-2060975/
Mysql5.7多线程并发复制
- 基本搭建过程可参如下文档:
- http://www.innomysql.com/article/16317.html
- http://www.innomysql.com/innosqlmysql并行复制的实现与配置/
- mysql5.6多线程复制:基于datababase/schema的
- mysql5.7多线程复制:继承5.6的同时,基于事务执行的逻辑时钟(Logical Clock)的并发(5.7以来)
具体区别如下:
两种类型的并发
基于库(Database/Schema)的并发(5.6以来)
Binlog中记录语句使用的所有的库的名字。
不同库上的事务可以并发执行,同库的事务顺序执行。
基于事务执行的逻辑时钟(Logical Clock)的并发(5.7以来)。
Binlog中记录事务执行时的相对顺序信息。
基本原理是锁的冲突检测,因此也叫基于锁的并发机制。
基于锁的并发复制的原理
待续。。。。
- 在线快速切换为并发复制:
- mysql> STOP SLAVE SQL_THREAD;
- mysql> SET GLOBAL slave_parallel_workers = 8; #并发线程数量
- mysql> SET GLOBAL slave_parallel_type = " LOGICAL_CLOCK" ; #or DATABASE
- mysql> START SLAVE SQL_THREAD
- Last_Errno: 1756
- Last_Error: … The slave coordinator and worker threads are stopped, possibly leaving data in inconsistent state. A restart should restore consistency automatically, although using non-transactional storage for data or info tables or DDL queries could lead to problems. In such cases you have to examine your data (see documentation for details).
- 参考文档:http://imysql.com/2016/06/02/mysql-faq-5-6-to-5-7-replicaton-failure.shtml
- mysql> STOP SLAVE SQL_THREAD;
MySQL-5.7的半同步复制
- 先了解一下什么是半同步,什么是同步,什么是异步
- 同步复制: 直到所有的slave都commit了事务之后,此时才返回信息给客户端;缺点:完成一个事务的延迟可能很大
- 半同步复制:
- 5.7无损半同步:master在收到slave的应答之后才commit事务 更多详细信息可参考文档:http://mp.weixin.qq.com/s?__biz=MzIwNzEzNDkxNQ==&mid=400915320&idx=1&sn=58dcc499cbcedcd827002acd77c30d60&scene=4#wechat_redirect
- 5.6半同步:master在commit之后才等待salve的应答
- 异步复制: Master将事件写入binlog,但并不知道Slave是否或何时已经接收且已处理。在异步复制的机制的情况下,如果Master宕机,事务在Master上已提交,但很可能这些事务没有传到任何的Slave上。假设有Master->Salve故障转移的机制,此时Slave也可能会丢失事务
事务
同步
语句
支持
信息
线程
文档
机制
参考
在线
处理
检测
原理
时钟
模式
类型
系统
逻辑
错误
顺序
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
从sql文件导入数据库
镇村网络安全工作落实情况
linux启动服务器命令
数据库营销的过程
数据库不同表的主键
上海财务软件开发机构
我的世界游戏服务器哪个好玩
计算机网络技术第七版笔记
数据库数据的存取路径
阿里云轻量应用服务器挂载磁盘
前台接收不到数据库
广州软件开发公司急聘
数字化网站服务器
计算机网络技术的用处
新三板网络安全龙头
php服务器监控
服务器cpu处理视频咋样
网络根服务器是谁家研究出来的
临漳租房软件开发
网络安全信息化知识题库
w7服务器管理器角色
日语专业学软件开发
我的世界服务器在线玩
北斗服务器怎么样
计算机网络技术所需要了解的
全国中小学网络安全知识竟赛
原神有服务器
线上购物订单数据库设计
怎样快速得到新服务器
数据库安全性包括哪些内容