【Mysql】mysql公开课之-mysql5.7复制特性
发表于:2024-11-27 作者:千家信息网编辑
千家信息网最后更新 2024年11月27日,GTID的基础知识BEGIN;INSERT INTO innodb_tbl(…);INSERT INTO myisam_tbl(…);COMMIT;在事务中使用临时表BEGIN;INSERT INTO
千家信息网最后更新 2024年11月27日【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安全错误
数据库的锁怎样保障安全
媒体互联网科技
数据库的挂载盘是啥
兰德鲁的礼物盒 数据库
应用宝服务器明日之后
双路服务器风扇要怎么装
直播软件开发有前途吗
进入dede数据库
电脑的端口号和服务器位置怎么找
网络安全赛题解析
计算机网络技术哪本书
深圳互联网金融科技园
美版三星连接不上谷歌服务器
龙口游戏软件开发公司
数据库复制过程
易语言数据库程序示例
网站服务器管理助手
淘宝采用的网络安全协议
云时代网络技术有限公司
sql用户数据库
华东师大论文数据库入口
龙之谷2服务器下载
加强网络安全奖惩
计算机软件开发人员
c获取数据库连接
文本 导入 数据库
互联网数据科技服务
网络安全法的顺序
数据库时间换空间的理解含义
云电互联网科技和腾讯官司
方舟服务器延迟多少