【Mysql】mysql公开课之-mysql5.7复制特性
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,GTID的基础知识BEGIN;INSERT INTO innodb_tbl(…);INSERT INTO myisam_tbl(…);COMMIT;在事务中使用临时表BEGIN;INSERT INTO
千家信息网最后更新 2025年02月01日【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安全错误
数据库的锁怎样保障安全
在哪里查看镜像服务器的网关
企业服务器系统是什么
春节海报设计软件开发
有没有网络安全专业
网页加载慢 服务器
互联网与科技进步论文
软件开发实战:c#开发实战
江苏南瑞集团 网络安全
什么计算机网络技术考试
国内外常用文献数据库的建设内容
e 软件开发
如何用力控软件开发应用程序
服务器2021年出货数据
软件开发招聘条件
魔兽怀旧服各服务器注册人数
运维部门网络安全心得
5g商用挑战电信网络安全
数据库篡改
网络技术课程报告
甘肃政法学院网络安全学院
合肥工程管理软件开发公司哪家好
泗洪威力网络技术解决方案
中国一汽集团软件开发
杨浦区辅助网络技术中心收费
资金盘软件开发学习
北京向心力网络技术有限公司
ps4串流电脑无法连接服务器
优极网络安全海报
互联网加远程共享大数据库
顺德区锐思软件开发有限公司