Mariadb的半同步复制

简介: Mariadb的半同步复制

一、半同步复制原理

解决主从库数据不一致,主库数据挂掉,从库数据不一致的问题
解决方法:半同步复制
半同步复制场景中,master会监视所有的slave,确保其中至少一台数据完全同步成功,master才会返回客户端信息,此数据写成功。

二、主库故障,提升从库主库方法

1.keepalived切换

VIP,
通过keepalived判断脚本,执行切换VIP

2.通过半同步复制

 要求三节点,一主两从,自动切换,其中一个slave开启半同步复制

三、异步复制和半同步复制区别

1.异步复制

异步复制:
简单来说,就是master把binlog发送过去,不管slave是否接受完,也不管执行完,这个动作就结束了。

2.半同步复制

半同步复制:
master把binlog发送过去,slave确认接收完,但不管它是否执行完,都会给master发送信息我收到了,这一动作结束了。

3.异步的劣势

异步的劣势:
当master写操作繁忙时, 上写操作繁忙时,当前Pos点例如是10,而
slave,上I0_ THREAD线程接收过来的是3,此时master宕机,会造成相差7个
点未传送到slave上而数据丢失。

四、mariadb的半同步配置

1.master配置

①开启主库半同步

MariaDB [(none)]>  set global rpl_semi_sync_master_enabled = 1;
Query OK, 0 rows affected (0.058 sec)

②开启等待从库响应时长

MariaDB [(none)]> set global rpl_semi_sync_master_timeout = 3000;
Query OK, 0 rows affected (0.000 sec)

2.slave配置

①开启从库半同步复制

MariaDB [(none)]> set global rpl_semi_sync_slave_enabled = 1;
Query OK, 0 rows affected (0.296 sec)

②重启从库

MariaDB [(none)]> stop slave;
Query OK, 0 rows affected (0.484 sec)

MariaDB [(none)]> start slave;
Query OK, 0 rows affected (0.258 sec)

MariaDB [(none)]>
相关文章
|
存储 域名解析 关系型数据库
MariaDB 半同步复制
本文主要为大家详解讲解 MariaDB 的半同步复制功能,包括插接安装、卸载,以及配置参数等。
779 0
MariaDB 半同步复制
|
存储 关系型数据库 MySQL
MariaDB半同步复制整理
安装半同步复制插件 在MariaDB 10.3.3和更高版本中,半同步复制功能内置于MariaDB服务器中,不再由插件提供。这意味着这些版本不支持安装插件。半同步复制插件实际上是两个不同的插件,一个是主插件,一个是从插件。
1347 0
|
关系型数据库 数据库 安全
|
关系型数据库 数据库 开发工具
MariaDB主从半同步复制详解
半同步复制(Semisynchronous replication) 介于异步复制和全同步复制之间,主库在执行完客户端提交的事务后不是立刻返回给客户端,而是等待至少一个从库接收到并写到relay log中才返回给客户端。
1189 0
|
NoSQL 关系型数据库 MySQL
阿里云RDS关系型数据库大全_MySQL版、PolarDB、PostgreSQL、SQL Server和MariaDB等
阿里云RDS关系型数据库如MySQL版、PolarDB、PostgreSQL、SQL Server和MariaDB等,NoSQL数据库如Redis、Tair、Lindorm和MongoDB
332 0
|
3月前
|
关系型数据库 Java MySQL
Linux安装JDK1.8 & tomcat & MariaDB(MySQL删减版)
本教程提供了在Linux环境下安装JDK1.8、Tomcat和MariaDB的详细步骤。这三个组件的组合为Java Web开发和部署提供了一个强大的基础。通过遵循这些简单的指导步骤,您可以轻松建立起一个稳定、高效的开发和部署环境。希望这个指导对您的开发工作有所帮助。
220 8
|
4月前
|
缓存 关系型数据库 MySQL
error: Failed dependencies: mariadb-connector-c-config is obsoleted by mysql-community-server-8.0.36-1.el7.x86_64 问题解决
error: Failed dependencies: mariadb-connector-c-config is obsoleted by mysql-community-server-8.0.36-1.el7.x86_64 问题解决
251 19
|
3月前
|
SQL 关系型数据库 MySQL
如何在 MySQL 或 MariaDB 中导入和导出数据库
如何在 MySQL 或 MariaDB 中导入和导出数据库
539 0
|
3月前
|
SQL Ubuntu 关系型数据库
如何在云服务器上创建和管理 MySQL 和 MariaDB 数据库
如何在云服务器上创建和管理 MySQL 和 MariaDB 数据库
47 0