半同步复制: 使用插件

对于从节点,有一部分为同步复制,当主节点复制完从节点后才向客户返回ok,同步超时后自动降级为异步

有一部分为异步复制 这样为了与主节点冗余

基于主从的模式上搭建

半同步复制:

支持多种插件:/usr/lib64/mysql/plugins/

主节点:

加入模块

启动

>SHOW  GLOBAL  STATUS  LIKE  ‘rpl%’ ;    查看同步信息的

从节点:

> SHOW  PLUGINS;  查到这个rpl_semi_sync_slave插件已经启用

关闭同步线程

启动同步线程

四节复制过滤器

仅复制有限一个或几个数据库相关的数据,而非所有;由复制过滤器进行;

有2中实现方式:

  1在主服务器端过滤

主服务器仅向二进制日志中记录有关特定数据库相关的写操作;

可以将仅把要复制的过滤后放在二进制文件中

问题:其它库的time-point recovery将无从实现; 不能完成完整的备份恢复

  配置文件中设定:

  binlog_do_db=     仅向二进制日志中记录指定的库

  binlog_ignore_db=   除了指定库的其他库都写入到二进制日志中

2 在从服务器端过滤

  从服务器的sql线程在从中继日志中执行sql语句时进行过滤

问题:网络IO和磁盘IO;

Replicate_Do_DB=     白名单

Replicate_Ignore_DB=   黑名单

Replicate_Do_Table=    表级别的白名单

Replicate_Ignore_Table=   表级别的黑名单

Replicate_Wild_Do_Table=    通配符白名单  (*    ?)

Replicate_Wild_Ignore_Table=      通配符黑名单

如在从节点查看

修改修改前需要先停止线程

复制的监控和维护

(1) 清理日志:PURGE

PURGE { BINARY | MASTER } LOGS { TO 'log_name' | BEFORE datetime_expr };

如: PURGE  MASTER  LOGS  TO  ‘master-log.000004’;  清理4 之前的日志

(2) 复制监控

  状态查看:

  主:

    SHOW MASTER STATUS;

    SHOW BINLOG EVENTS;

SHOW BINARY LOGS;

  从:

    SHOW SLAVE STATUS; 在其中Seconds_Behind_Master 来表示是否落后于主节点

(3) 如何确定主从节点数据是否一致?

通过表的CHECKSUM检查;

使用percona-tools中pt-table-checksum;

(4) 主从数据不一致时的修复方法?

重新复制;

mariadb-半同步复制的更多相关文章

  1. MariaDB半同步复制

    1.主从复制原理 MySQL的二进制日志(binglog)会记录所有对数据库进行更改的操作,也就是说只要是会对数据库产生修改的操作都会被记录到二进制日志中去.记录二进制日志的主要目的有两方面:a.恢复 ...

  2. Mariadb之半同步复制集群配置

    首先我们来了解下在mariadb/mysql数据库主从复制集群中什么是同步,什么是异步,什么是半同步:所谓同步就是指主节点发生写操作事件,它不会立刻返回,而是等到从节点接收到主节点发送过来的写操作事件 ...

  3. MariaDB主从半同步复制详解

    半同步复制(Semisynchronous replication) 介于异步复制和全同步复制之间,主库在执行完客户端提交的事务后不是立刻返回给客户端,而是等待至少一个从库接收到并写到relay lo ...

  4. MySQL/MariaDB数据库的半同步复制

      MySQL/MariaDB数据库的半同步复制 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL半同步复制概述 1>.MySQL默认的异步复制 默认情况下,M ...

  5. MySQL半同步复制

    从MySQL5.5开始,MySQL以插件的形式支持半同步复制.如何理解半同步呢?首先我们来看看异步,全同步的概念 异步复制(Asynchronous replication) MySQL默认的复制即是 ...

  6. maraidb半同步复制

    半同步复制是在主从同步复制的基础之上,主从同步前面我的博文有介绍 Semisynchronous Replication(半同步复制)则一定程度上保证提交的事务已经传给了至少一个备库 MySQL在加载 ...

  7. MySQL半同步复制的数据一致性探讨微信后台团队实践【转】

    MySQL是一个RDBMS(关系型数据库管理系统),由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.由于其体积小.速度快.拥有成本低,尤其是开放源码这一特点,广受各大企业欢迎,包括 ...

  8. Centos7.5部署MySQL5.7基于GTID主从复制+并行复制+半同步复制+读写分离(ProxySQL) 环境- 运维笔记 (完整版)

    之前已经详细介绍了Mysql基于GTID主从复制的概念,原理和配置,下面整体记录下MySQL5.7基于GTID主从复制+并行复制+增强半同步复制+读写分离环境的实现过程,以便加深对mysql新特性GT ...

  9. MySQL半同步复制搭建

    默认情况下,MySQL 5.5/5.6/5.7和MariaDB 10.0/10.1的复制是异步的,异步复制可以提供最佳性能,主库把binlog日志发送给从库,这一动作就结束了,并不会验证从库是否接收完 ...

  10. mysql数据库备份,主从复制及半同步复制

    1.使用mysqldump备份数据库并通过备份及二进制日志还原数据(备份完后再写入数据,然后再删库) mysqldump -A --single-transaction -F --master-dat ...

随机推荐

  1. 006_tcpdump专题

    抓包是排查问题非常重要的一种方式,这里汇总常用的排查日常问题的,tcpdump在linux机器上的使用姿势. 一.排查statsd打点情况. 线上出现statsd打点的指标无法正常显示的情况,需要排查 ...

  2. mariadb:SQL日常使用总结

    1.关联删除 DELETE T_Base_Resource_Action FROM T_Base_Resource_Action  INNER JOIN T_Base_Resource ON T_Ba ...

  3. ASP.NET MVC5高级编程 之 数据注解和验证

    客户端验证逻辑会对用户向表单输入的数据给出一个即时反馈.而之所以需要服务器端验证,是因为来自网络的信息都是不能被信任的. 当在ASP.NET MVC设计模式上下文中谈论验证时,主要关注的是验证模型的值 ...

  4. [转]PHP开发中涉及到emoji表情的三种处理方法

    最近几个月做微信开发比较多,存储微信昵称必不可少,可这万恶的微信支持emoji表情做昵称,这就有点蛋疼了 一般Mysql表设计时,都是用UTF8字符集的.把带有emoji的昵称字段往里面insert一 ...

  5. Python学习-字符编码浅析

    1.什么是字符编码 既然是简述那肯定是简单明了.字符编码,看名字就是一种字符的编码格式,由于计算机内部采用二进制,想要将人类的语言字符输入到计算机就需要一种编码格式,这就是字符编码.字符------- ...

  6. Confluence 6 配置时间和日期格式

    你可以修改你 Confluence 为用户显示的时期和时间格式.设置的句法使用的是 SimpleDateFormat class,请参考 Java SimpleDateFormat 文档中的内容来设置 ...

  7. Confluence 6 下载和安装 MySQL 驱动

    基于许可证的现在,我们没有将 MySQL 的数据库捆绑到 Confluence 中.需要将你的数据库驱动在 Confluence 中可用: 停止 Confluence. 访问 Database JDB ...

  8. vue的基础知识

    Vue.js是什么? Vue(法语)同view(英语) Vue.js是一套构建用户界面(view)的MVVM框架.Vue.js的核心库只关注视图层,并且非常容易学习,非常容易与其他库或已有的项目整合. ...

  9. 前端之css样式(选择器)。。。

    一.css概述 CSS是Cascading Style Sheets的简称,中文称为层叠样式表,对html标签的渲染和布局 CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明. 例如 二.c ...

  10. 【linux】ssh无法root免密解决

    在设置了root的私钥和公钥,添加authorized_keys,修改文件权限为600后,用root账号 ssh localhost结果失败了,还是要密码. 解决: vim /etc/ssh/sshd ...