1、查看binlog是否开启
// 查询日志是否开启和文件放置的位置
show variables like '%log_bin%'
模拟流程:
1、创建表
// 创建命令
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=36 DEFAULT CHARSET=utf8;
2、 新增3条数据
// 插入命令
INSERT INTO user_5 VALUE(1, '小吴');
INSERT INTO user_5 VALUE(2, '小明');
INSERT INTO user_5 VALUE(3, '小红');
3、查看数据
// 查询命令
select * from user;
4、删除user表 - 模拟误删操作
恢复步骤
第一步、到对应的文件下,查看最新的日志
第二步、查询日志
// binlog.000462对应最新的日志
show binlog EVENTS in 'binlog.000462'
第三步、根据自己的需求进行恢复,取对应的pos和end_pos
// 恢复数据(命令执行)
mysqlbinlog /var/lib/mysql/binlog.000462 --start-position 156 --stop-position 1448 | mysql -uroot -p123456