如何避免删库跑路呢?mysql使用bin-log将数据恢复到某个时间点!-bin文件怎么打开

mysql5.7 配合全量备份, 使用bin-log恢复到某个时间点。对于我们误删除数据,我们需要恢复数据,这就需要用到mysql恢复某一个节点。

  • 建立模拟数据
CREATE DATABASE db1;
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `user` VALUES (1, '张三');
INSERT INTO `user` VALUES (2, '李四');
  • 开启bin-log, 修改my.cnf配置文件添加 log_bin=mysql-bin server-id=1 两项并重启mysqld服务

如何避免删库跑路呢?mysql使用bin-log将数据恢复到某个时间点!

  • 新建一个全量备份
mysqldump -uroot -p db1 > db1.sql
  • 再插入两条数据
INSERT INTO `user` VALUES (3, '王五');
INSERT INTO `user` VALUES (4, '小六');
  • 假如在2018-04-26 16:16:16误删了一条数据
delete from db1.user where id=3
  • 恢复数据
还原全量备份 mysql -uroot -p db1<db1.sql;
还原时间点前bin-log增量备份 mysqlbinlog --stop-datetime="2018-04-26 16:16:16" mysql-bin.000001|mysql -uroot -p

查看被删除的数据已经恢复了!

蜗牛巢社区 ,phper程序员的小蜗居。

推荐阅读