前言 MySQL的主从复制是MySQL本身自带的一个功能,不需要额外的第三方软件就可以实现,其复制功能并不是copy文件来实现的,而是借助binlog日志文件里面的SQL命令实现的主从复制,可以理解为我再Master端执行了一条SQL命令,那么在Salve端同样会执行一遍,从而达到主从复制的效果。 ...
分类:
数据库 时间:
2016-11-06 01:46:47
阅读次数:
222
GTID说明:MySQL5.6引入的GTID(GlobalTransactionIDs)使得其复制功能的配置、监控及管理变得更加易于实现,且更加健壮。要在MySQL5.6中使用复制功能,其服务配置段[mysqld]中于少应该定义如下选项: binlog-format:二进制日志的格式,有row、statement和mixed几种类型; 用于..
分类:
数据库 时间:
2016-11-04 18:03:17
阅读次数:
282
前言: 继上一篇MySQL【Delete误操作】回滚之后,现在介绍下Update回滚,操作数据库时候难免会因为“大意”而误操作,需要快速恢复的话通过备份来恢复是不太可能的,因为需要还原和binlog差来恢复,等不了,很费时。这里说明因为Update 操作的恢复方法:主要还是通过binlog来进行恢复 ...
分类:
数据库 时间:
2016-11-03 18:33:14
阅读次数:
305
最近在我们线上库备份的时候出现一个奇怪的现象: 我们备份都在从库上备份的,在业务低一般是在晚上2点钟开始备份.有天发现从库的延迟一直在增加,登录上实例,通过show processlist 发现,sql 线程在等待 binlog lock。同时看到我们从2点钟开始的压缩远程备份并没有完成,备份日志还 ...
分类:
数据库 时间:
2016-11-01 11:36:00
阅读次数:
307
在人工手动进行一些数据库写操作的时候(比方说数据订正),尤其是一些不可控的批量更新或删除,通常都建议备份后操作。不过不怕万一,就怕一万,有备无患总是好的。在线上或者测试环境误操作导致数据被删除或者更新后,想要恢复,一般有两种方法。 方法一、利用最近的全量备份+增量binlog备份,恢复到误操作之前的 ...
分类:
数据库 时间:
2016-11-01 11:29:59
阅读次数:
224
默认情况下, mysqlbinlog读了二进制文件【BinLog】并以文本的方式呈现【text format】.mysqlbinlog可以直接地从本地读取Log,也可以读取远程的Log【--read-from-remote-server】,默认是直接输出,当然也可以保存到指定的输出文件中。如: ...
分类:
数据库 时间:
2016-10-30 20:23:08
阅读次数:
217
mysqlbinlog用于BinLog的显示,备份和重做。 默认情况下,mysqlbinlog是以base-64编码的方式呈现的。如: mysqlbinlog master_bin.000006 ,譔输出会忽略一些额外的行 mysqlbinlog -v master_bin.000006 ,加ver ...
分类:
数据库 时间:
2016-10-30 17:01:15
阅读次数:
226
并发复制(Parallel Replication) 系列二: Enhanced Multi-threaded Slaves作者:沃趣科技MySQL数据库工程师 麻鹏飞 首先梳理下传统MySQL/MariaDB主备复制基本原理: 主从复制通过三个线程来完成,在master节点运行的binlog du ...
分类:
数据库 时间:
2016-10-28 09:37:23
阅读次数:
277
演练包括被动切换和主动切换两部分。被动切换是主库宕机,主动切换是人工手动触发。 演练步骤大致如下: 1 先停掉主库,模拟主库宕机 2 mha将vip切到备库,备库变成主库,应用可以正常读写数据库 3 重新启动宕机的原主库 4 在原主库上建立同步关系(根据宕机时,日志记录的binlog的文件名和偏移量 ...
分类:
数据库 时间:
2016-10-28 07:39:10
阅读次数:
785
第1步:修改主数据库的配置文件/etc/my.cnf[mysqld]server-id=1log-bin=mysqlmaster-bin.log#当每进行1次事务提交之后,MySQL将进行一次fsync之类的磁盘同步指令来将binlog_cache中的数据强制写入磁盘sync_binlog=1#缓存innodb表的索引,数据,插入数据时的缓冲,操作系统内存的..
分类:
数据库 时间:
2016-10-26 17:01:02
阅读次数:
192