MySQL使用MyFlash快速恢复误删除和修改的数据 |
一、MyFlash
本文将实验通过 注意:要使用 show variables like 'log_bin'; SHOW VARIABLES LIKE 'binlog_row_image'; 二、MyFlash 部署安装依赖环境: yum install gcc glib2-devel -y 下载 wget https://github.com/Meituan-Dianping/MyFlash/archive/master.zip 解压: unzip master.zip 编译源文件: cd MyFlash-master gcc -w `pkg-config --cflags --libs glib-2.0` source/binlogParseGlib.c -o binary/flashback 查看 ./binary/flashback -h 解释如下:
三、测试环境构建创建测试库: create database testdb; use testdb; 创建测试表: CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `age` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; 写入测试数据: INSERT INTO `testdb`.`user` (`id`, `name`, `age`) VALUES (1, '张三', 16); INSERT INTO `testdb`.`user` (`id`, `name`, `age`) VALUES (2, '赵六', 17); INSERT INTO `testdb`.`user` (`id`, `name`, `age`) VALUES (3, '李四', 18); INSERT INTO `testdb`.`user` (`id`, `name`, `age`) VALUES (4, '小明', 19); INSERT INTO `testdb`.`user` (`id`, `name`, `age`) VALUES (5, '小李', 20); 四、数据误删除恢复假设不小心删除了 delete from user where age > 17; 查看当前 show master status; 先生成一个新的 flush logs; 使用 ./binary/flashback --databaseNames="testdb" --tableNames="user" --start-datetime="2024-06-15 14:35:30" --stop-datetime="2024-06-15 14:41:30" --sqlTypes="DELETE" --binlogFileNames=/var/lib/mysql/mysql-bin.000004 --outBinlogFileNameBase=user.sql 执行后可以看到生成了一个 mysqlbinlog -vv user.sql.flashback 可以看出内容是 mysqlbinlog user.sql.flashback | mysql -uroot -proot 下面查看数据是否被恢复: 数据成功恢复! 五、数据误修改恢复假设修改数据时忘了加 update user set age = 99; 下面做法和上面相似,首先查看当前 show master status; 同样生成一个新的 flush logs; 使用 ./binary/flashback --databaseNames="testdb" --tableNames="user" --start-datetime="2024-06-15 14:45:30" --stop-datetime="2024-06-15 14:50:30" --sqlTypes="UPDATE" --binlogFileNames=/var/lib/mysql/mysql-bin.000005 --outBinlogFileNameBase=user1.sql 执行后可以看到生成了一个 mysqlbinlog -vv user1.sql.flashback 可以看出是 mysqlbinlog user1.sql.flashback | mysql -uroot -proot 下面查看数据是否恢复: 数据成功恢复! 以上就是MySQL使用MyFlash快速恢复误删除和修改的数据的详细内容,更多关于MySQL MyFlash恢复误删除数据的资料请关注其它相关文章! |