mysql数据恢复

全量备份恢复
事件发生后停止后端服务,同时刷新数据库二进制日志,防止有新数据
kill -9 后端服务端口
mysql -u -p
flush logs;
刷新后的binlog的id为00004,需要恢复的数据都是00003

mysql -uroot -p
source /备份文件地址
全量备份恢复完成,剩下的数据可根据binlog日志进行恢复

增量备份恢复
根据00003的时间恢复指定数据库的数据

mysqlbinlog --no-defaults --database=ecology ./mysql-bin.000003 --start-datetime="2024-06-18 15:21:00" --stop-datetime="2024-06-18 15:22:00" --skip-gtids |mysql -uroot -p123456 ecology
根据position恢复

mysqlbinlog --no-defaults --database=ecology ./mysql-bin.000003 --start-position=55217 --stop-position=115972 --skip-gtids|mysql -uroot -pH_zhan#888 ecology

我这里是主从复制环境,通过模拟testa库删除后恢复数据,恢复数据的时候先创建testa的空库,进入库中导入,然后根据二进制日志,对备份文件之后产生的数据进行恢复,--skip-gtids这个是需要添加的,否则不生效,应该是自己创建库的原因

posted @ 2024-06-18 17:29  开心burukku  阅读(4)  评论(0编辑  收藏  举报