注册 登录
  • 欢迎访问"运维那点事",推荐使用Google浏览器访问,可以扫码关注本站的"微信公众号"。
  • 如果您觉得本站对你有帮助,那么可以扫码捐助以帮助本站更好地发展。

标签:MySQL主从复制

MySQL

MySQL备库Seconds_Behind_Master计算方式分析

背景 在MySQL主备环境下,主备同步过程如下,主库更新产生binlog,备库io线程拉取主库binlog生成relay log。备库sql线程执行relay log从而保持和主库同步。 理论上主库有更新时,备库都存在延迟,且延迟时间为备库执行时间+网络传输时间即t4-t2。 那么MySQL是怎么来计算备库延迟的? 先来看show slave status……继续阅读 »

彭东稳 5个月前 (05-13) 1172浏览 0评论 3个赞

MySQL

MySQL事务日志组提交与二进制日志组提交

InnoDB事务组提交 MySQL组提交(group commit)是MySQL处理日志的一种优化方式,主要为了解决写日志时频繁刷磁盘的问题。组提交伴随着MySQL的发展不断优化,从最初只支持redo log组提交,到目前MySQL 5.6官方版本同时支持redo log和binlog组提交。组提交的实现大大提高了MySQL的事务处理性能,下文将以Innod……继续阅读 »

彭东稳 7个月前 (03-21) 2224浏览 1评论 4个赞

MySQL

MySQL主从复制线程状态转变

一、主库线程状态(State)值 以下列表显示了主从复制中主服务器的Binlog Dump线程的State列中可能看到的最常见状态(SHOW PROCESSLIST)。如果Binlog Dump线程在主服务器上看不到,这意味着复制没有运行,也就是说,目前没有连接任何Slave主机。 Sending binlog event to slave 二进制日志由各种……继续阅读 »

彭东稳 7个月前 (03-09) 2291浏览 2评论 2个赞

MySQL

MySQL事务日志与二进制日志顺序一致性问题?

首先,我们知道在MySQL中,二进制日志是server层的,主要用来做主从复制和即时点恢复时使用的。而事务日志(redo log)是InnoDB存储引擎层的,用来保证事务安全的。现在我们来讨论一下MySQL主从复制过程中的一些细节问题,有关于主从复制可以看具体的章节。 在了解了以上基础的内容后,我们可以带着以下的三个问题去学习复制到底是怎样工作的。 为什么……继续阅读 »

彭东稳 9个月前 (01-12) 2466浏览 0评论 5个赞

MySQL

MySQL主从复制时crash safe问题探讨?

MySQL数据库的成功离不开其replicaiton,相对于Oracle DG和Microsoft SQL Server Log Shipping来说,其简单易上手,基本上1,2分钟内根据手册就能完成环境的搭建。然而,随着使用的深入,replication自身的问题会慢慢显露,其中非crash safe的特性使得许多DBA感到头疼,甚至不能理解其所发问题的原……继续阅读 »

彭东稳 10个月前 (12-07) 1614浏览 0评论 2个赞

MySQL

MySQL基于SSL复制的配置过程

MySQL的主从复制默认是明文传送的,如果在生产环境中跨网络传送,数据的安全性就无法完全保证,为了解决这一问题,我们需要一种安全的方式进行传送,即基于SSL加密进行数据传输。在进行SSL加密传输时可能需要先了解CA、证书及SSL相关知识才能更好地明白为何基于SSL的传输就会更加安全。CA、证书及SSL相关知识在本章节不会多加一说明,详情可以看本博客提供的“信……继续阅读 »

彭东稳 11个月前 (11-24) 1392浏览 0评论 2个赞

MySQL

MySQL 5.7新特性:多源复制实践

前言 MySQL 5.7的发布,在复制方面有了很大的改进,比如开始支持多源复制(multi-source)了。以及真正的支持多线程复制了。需要说明一点的是,多源复制可以使用基于二进制日志的复制或者基于事务的复制。下面开始配置基于二进制日志的多源复制。 什么是多源复制? 首先,我们需要清楚几种常见的复制模式: 1)一主一从 2)一主多从 3)级联复制 4)Mu……继续阅读 »

彭东稳 11个月前 (11-22) 1807浏览 0评论 5个赞

MySQL

MySQL 5.7新特性:在线开启和关闭基于GTID的复制

一、前言 MySQL在5.6版本之前复制一直是基于二进制日志的复制,到了MySQL5.6时开始支持基于事务(GTIDs)的复制,并且开始支持多线程复制;但MySQL5.6版本的多线程只能基于多库。这就牵扯到了一个应用场景,就是从基于日志的复制在线变更到基于事务的复制,在MySQL5.6版本时这一动作只能重启主服务器才可以做到。但是到了MySQL 5.7版本时……继续阅读 »

彭东稳 11个月前 (11-21) 2068浏览 0评论 3个赞

MySQL

MySQL 5.7半同步复制技术

复制架构衍生史 在谈这个特性之前,我们先来看看MySQL的复制架构衍生史。MySQL的复制分为四种: 1、普通的replication,异步。 搭建简单,使用非常广泛,从MySQL诞生之初,就产生了这种架构,性能非常好,可谓非常成熟。但是这种架构数据是异步的,所以有丢失数据库的风险。 2、semi-sync replication,半同步。 性能,功能都介……继续阅读 »

彭东稳 11个月前 (11-09) 2551浏览 0评论 7个赞

MySQL

MySQL Reset Master AND Reset Slave

RESET MASTER 删除所有index file中记录的所有binlog文件,将日志索引文件清空,创建一个新的日志文件,这个命令通常仅仅用于第一次用于搭建主从关系的时的主库, 注意,reset master不同于purge binary log的两处地方。 1)reset master将删除日志索引文件中记录的所有binlog文件,创建一个新的日志文件……继续阅读 »

彭东稳 11个月前 (11-08) 1383浏览 0评论 1个赞

MySQL

MySQL主从复制过滤参数介绍

MySQL主从复制过滤 Master上支持的选项(写到主配置文件) # 仅将指定数据库的相关修改操作记入二进制日志(白名单) binlog-do-db = DB_NAME # 忽略指定的相关操作记录其余的都记入二进制日志(黑名单) binlog-ignore-db = DB_NAME ……继续阅读 »

彭东稳 11个月前 (11-07) 1973浏览 1评论 2个赞