binlog 数据恢复演练

1、恢复介绍

我们恢复数据是通过mysqlbinlog工具来恢复数据,MySQL的二进制日志binlog可以说是MySQL最重要的日志,它记录了所有的DDL和DML语句(除了数据查询语句select),以事件形式记录,还包含语句所执行的消耗的时间

DDL
   - Data Definition Language 数据库定义语言 
主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用。

DML
   - Data Manipulation Language 数据操纵语言
主要的命令是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言

mysqlbinlog常见的选项有以下几个

--start-datetime:从二进制日志中读取指定等于时间戳或者晚于本地服务器的时间
--stop-datetime:从二进制日志中读取指定小于时间戳或者等于本地服务器的时间 取值和上述一样
--start-position:从二进制日志中读取指定position 事件位置作为开始。
--stop-position:从二进制日志中读取指定position 事件位置作为事件截至

binlog日志包括两类文件
1)二进制日志索引文件(文件名后缀为.index)用于记录所有的二进制文件
2)二进制日志文件(文件名后缀为.00000*)记录数据库所有的DDL和DML(除了数据查询语句select)语句事件。

二、常用的binlog日志操作命令

1、查看所有binlog日志列表

show master logs;

2、查看master状态,即最后(最新)一个binlog日志的编号名称,及其最后一个操作事件pos结束点(Position)值

show master status;

3、flush刷新log日志,自此刻开始产生一个新编号的binlog日志文件

 flush logs;

4、重置(清空)所有binlog日志

reset master;

三、利用binlog日志恢复mysql数据

1、新建数据库

CREATE TABLE IF NOT EXISTS `user` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(16) NOT NULL,
`sex` enum('m','w') NOT NULL DEFAULT 'm',
`age` tinyint(3) unsigned NOT NULL,
`classid` char(6) DEFAULT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

插入数据 

insert into user(`name`,`sex`,`age`,`classid`) values('wangshibo','m',27,'cls1'),('guohuihui','w',27,'cls2');

未完,待继续 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQLbinlog是一种二进制日志文件,用于记录数据库的修改操作。当数据库出现故障时,可以通过binlog来进行数据的恢复。 MySQL提供了多种工具来进行binlog数据恢复。其中最常用的工具是mysqlbinlogmysqlbinlog是一个命令行工具,用于解析binlog文件,并将其中的SQL语句打印出来。通过mysqlbinlog,可以将binlog中记录的SQL语句重新执行,从而实现数据的恢复。 使用mysqlbinlog进行数据恢复的步骤如下: 1. 找到事故发生时的最新的binlog文件和位置。 2. 使用mysqlbinlog命令解析binlog文件: ```shell mysqlbinlog binlog.000001 --start-position=12345 ``` 这将会将binlog文件中从指定位置开始的所有SQL语句输出到终端。 3. 检查输出的SQL语句,确认其正确性,并逐条重新执行,以恢复数据。 除了mysqlbinlog工具外,还有其他一些第三方的工具可以进行binlog数据恢复。例如,Binlog Explorer、Binlog Viewer等工具提供了更加友好的图形界面,方便操作和查看binlog文件。 需要注意的是,在使用binlog进行数据恢复时,要确保事故发生后的binlog文件没有被删除或覆盖,否则无法完全恢复数据。另外,对于大规模的数据库,binlog数据恢复可能比较耗时和复杂,需要谨慎操作。 总而言之,mysqlbinlog是一种常用的binlog数据恢复工具,通过解析binlog文件中的SQL语句,可以重新执行这些SQL语句以恢复数据。此外,还有其他一些第三方工具可供选择。在进行binlog数据恢复时,需要注意保留好binlog文件,并进行逐条确认和执行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值