从库轻松跳过某个事务号

场景 某燃气公司由于配置主从同步时,一些不合理操作,导致从库SQL进程应用日志失败。 报错信息 后台日志报错信息如下: 2018-04-09T14:41:16.445626Z 7 [ERROR] Error reading packet from server for channel ”: The slave is connecting using CHANGE MASTER

Innodb log与undo log

Innodb log InnoDB 有两块非常重要的日志,一个是undo log,另外一个是redo log,前者用来保证事务的原子性以及InnoDB的MVCC,后者用来保证事务的持久性。 和大多数关系型数据库一样,InnoDB记录了对数据文件的物理更改,并保证总是日志先行,也就是所谓的WAL,即在持久化数据文件前,保证之前的redo日志已经写到磁盘。 LSN(log sequence numbe […]

轻松完成mysql误操作恢复

场景 当用户误操作对数据库的数据进行改动,此时操作的方式可以使用以下几种方式进行: 一、在有备份的情况下,通过mysqlbinlog方式对日志文件基于时间点恢复 二、通过binlog2sql方式对数据库进行数据回滚 第一种方式估计大家都比较熟悉,这里就不再重复,以下以介绍第二种操作方式为主。 恢复前提条件必须设置日志模式为row,曾几何时,一个朋友日志模式设置Statement,导致数据数据恢复失 […]

mysql二进制日志三种模式

概述 mysql复制主要有三种方式:基于SQL语句的复制(statement-based replication, SBR);基于行的复制(row-based replication, RBR); 混合模式复制(mixed-based replication, MBR);对应的,binlog的格式也有三种:STATEMENT,ROW,MIXED STATEMENT模式(SBR) 每一条会修改数据的 […]

在ECS上轻松搭建RDS的从实例

场景 由于一些特殊的原因,某燃气公司线下ECS上需要在ECS上搭建一套从库,需要同步RDS数据库的数据(mysql5.7版本)。 实现RDS for mysql与线下ECS上自建数据库数据实时同步,阿里云官方推荐使用DTS方式进行。原因有两个: 1、mysql-bin正常情况下,RDS在本地只保存18个小时 2、当RDS实例切换时,会影响自建ECS数据同步(这个经过测试可以排除) 一方面考虑到使用 […]