热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MariaDB10SlaveCrash-Safe需转为GTID复制模式

之前写了一篇《MySQL5.6crash-safereplication》,但在Mariadb10.0.X和10.1.X上不支持relay_log_info_repository

之前写了一篇《MySQL5.6 crash-safe replication》 ,但在Mariadb10.0.X和10.1.X上不支持relay_log_info_repository = TABLE参数,官网建议用GTID复制模式代替传统复制模式,传统复制模式是不支持Slave Crash-Safe的。

wKiom1Xmr7WRLV1DAAUUod9tlpw045.jpg


在mysql库下,会有一张gtid_slave_pos表(在安装初始化时,就已经是innodb引擎)

START TRANSACTION;-- Statement 1
-- ...
-- Statement N
-- Update replication info
COMMIT;

这样sql线程执行完事务后,立即会更新gtid_slave_pos表,如果在更新过程中宕机,事务会回滚,gtid_slave_pos表并不会记录同步的点,下次重新同步复制时,从之前的POS点再次执行。


MariaDB 10默认是传统复制,如果转为GTID复制很简单,并不需要像MySQL5.6那样,要在Slave从库上设置log_slave_updates = 1(增加从库的IO压力),并重启数据库生效那么麻烦。MariaDB支持热切换GTID,你可以先以传统复制搭建主从,然后再热切GTID复制模式,如下图: 

wKioL1XmrouQsk9yAAKZFfQNFDo290.jpg

wKioL1XmrtGxO7l5AALI8ghWW8M548.jpg

通过几个简单的步骤,Slave从库就支持了Crash-Safe。


注:MHA0.56(最新版),还不支持MariaDB10的GTID复制模式,在故障切换时,还会以传统复制搭建主从,所以需要每次手工热切换下GTID模式。


参考官网:

wKiom1XmrfuwVqIiAAl72MkEipQ780.jpg



本文出自 “贺春D的技术专栏” 博客,请务必保留此出处http://hcymysql.blog.51cto.com/5223301/1690848


推荐阅读
  • centos 7.0 lnmp成功安装过程(很乱)
    下载nginx[rootlocalhostsrc]#wgethttp:nginx.orgdownloadnginx-1.7.9.tar.gz--2015-01-2412:55:2 ... [详细]
  • 如何利用Apache与Nginx高效实现动静态内容分离
    如何利用Apache与Nginx高效实现动静态内容分离 ... [详细]
  • Logging all MySQL queries into the Slow Log
    MySQLoptionallylogsslowqueriesintotheSlowQueryLog–orjustSlowLog,asfriendscallit.However,Thereareseveralreasonstologallqueries.Thislistisnotexhaustive:Belowyoucanfindthevariablestochange,astheyshouldbewritteninth ... [详细]
  • 在使用 Cacti 进行监控时,发现已运行的转码机未产生流量,导致 Cacti 监控界面显示该转码机处于宕机状态。进一步检查 Cacti 日志,发现数据库中存在 SQL 查询失败的问题,错误代码为 145。此问题可能是由于数据库表损坏或索引失效所致,建议对相关表进行修复操作以恢复监控功能。 ... [详细]
  • 如何在Linux系统上部署MySQL 5.7.28
    本文详细介绍了在Linux系统上部署MySQL 5.7.28的具体步骤。通过官方下载页面获取最新安装包后,按照提供的指南进行配置和安装。文章内容实用性强,适合初学者和有经验的管理员参考。 ... [详细]
  • 在使用 PHP 通过 SSL 安全连接到 MySQLi 数据库服务器时,遇到了一些技术难题。我的环境包括一个 Web 服务器和一个数据库服务器,两者均使用 OpenSSL 生成了证书。尽管证书内容一致,但在尝试从 Web 服务器使用 `mysql` 命令进行连接时,仍然遇到了问题。为了确保连接的安全性和稳定性,需要进一步检查证书配置和 PHP 的 SSL 设置,以排除潜在的配置错误或兼容性问题。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 对于初学者而言,搭建一个高效稳定的 Python 开发环境是入门的关键一步。本文将详细介绍如何利用 Anaconda 和 Jupyter Notebook 来构建一个既易于管理又功能强大的开发环境。 ... [详细]
  • 如何在Django框架中实现对象关系映射(ORM)
    本文介绍了Django框架中对象关系映射(ORM)的实现方式,通过ORM,开发者可以通过定义模型类来间接操作数据库表,从而简化数据库操作流程,提高开发效率。 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 本文详细介绍了在Linux操作系统上安装和部署MySQL数据库的过程,包括必要的环境准备、安装步骤、配置优化及安全设置等内容。 ... [详细]
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
  • 本文详细解析了 MySQL 5.7.20 版本中二进制日志(binlog)崩溃恢复机制的工作流程。假设使用 InnoDB 存储引擎,并且启用了 `sync_binlog=1` 配置,文章深入探讨了在系统崩溃后如何通过 binlog 进行数据恢复,确保数据的一致性和完整性。 ... [详细]
  • yum安装linux的mysql客户端,mysql在windows(含客户端工具)及linux(yum)环境下安装...
    下载windows安装包下载linux安装包下载windows下安装mysql(含客户端工具Navicat安装及配置)linux下安装mysql编译安装,自由linu ... [详细]
author-avatar
书友70518356
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有