半同步复制: 使用插件

对于从节点,有一部分为同步复制,当主节点复制完从节点后才向客户返回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. datepicker 属性设置 以及方法和事件

    DatePicker支持鼠标点选日期,同时还可以通过键盘控制选择: page up/down - 上一月.下一月 ctrl+page up/down - 上一年.下一年 ctrl+home - 当前月 ...

  2. Java内置包装类

    Java内置包装类有Object.Integer.Float.Double.Number.Charcter.Boolean.Byte.System. Number,是抽象类,也是超类(父类).Numb ...

  3. 2)实现github自动登陆获取信息

    # -*- coding:utf-8 -*- # __author__ = 'lixiang' # 实现github自动登陆和获取数据 import requests from bs4 import ...

  4. python-模块入门二(模块循环导入,区分python文件的两种用途,模块搜索路径,软件开发的目录规范)

    一.模块的循环导入问题 run.py # import m1 # 第一次导入 m1.py # 错误示范 ''' print('正在导入m1') from m2 import y #第一次导入m2 x= ...

  5. 分布式系统的一致性协议之 2PC 和 3PC

    在分布式系统领域,有一个理论,对于分布式系统的设计影响非常大,那就是 CAP 理论,即对于一个分布式系统而言,它是无法同时满足 Consistency(强一致性).Availability(可用性) ...

  6. noj算法 装载问题 回溯法

    描述: 有两艘船,载重量分别是c1. c2,n个集装箱,重量是wi (i=1…n),且所有集装箱的总重量不超过c1+c2.确定是否有可能将所有集装箱全部装入两艘船. 输入: 多个测例,每个测例的输入占 ...

  7. Windows 批处理大全(附各种实例)

    Windows 批处理大全(附各种实例) 2009年07月19日 21:31:00 阅读数:2552 批处理文件是无格式的文本文件,它包含一条或多条命令.它的文件扩展名为 .bat 或 .cmd.在命 ...

  8. Confluence 6 后台中为站点添加应用导航

    Confluence 6 后台中为站点添加应用导航的连界面和方法. https://www.cwiki.us/display/CONFLUENCEWIKI/Configuring+the+Site+H ...

  9. OC对象本质

    @interface person:NSObject{ @public int _age; } @end @implementation person @end @interface student: ...

  10. Swift Write to file 到电脑桌面

    (arr as NSArray).write(toFile: "Users/你的用户名/Desktop/mian.plist", atomically: true)