mysql数据库灾难恢复计划

it2022-05-05  145

恢复数据的策略,思路说明: 1、数据库具有全备,同步到其他服务器 2、开启bin-log ,通过同步工具每分钟同步bin-log到备份数据库 这样可以做到即便是丢失数据能控制在一分钟之内 这里不如果是机器坏掉,直接通过全备+bin-log 在备用服务器恢复; 如果机器没有坏掉,可以通过进入系统去取全量的bin-log 操作记录: 1:创建数据库 create table student( id int(10), name varchar(64), age int(2) ); insert into student(id,name,age) values(1,'熊大',30),(2,'熊二',27),(3,'张三',20),(4,'李四',30),(6,'王五',10); 2:全量备份数据 mysqldump --user=root -proot --all-databases --flush-privileges --single-transaction --master-data=1 --flush-logs --triggers --routines --events --hex-blob >/opt/bak/full_dump_bak.sql insert into student(id,name,age) values(7,'田七',30),(8,'猪八戒',27); drop database test2; --关闭端口,关闭应用禁止写入 刷新bin-log, mysqladmin -uroot -proot flush-logs head -100 ./full_dump_bak.sql CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000004', MASTER_LOG_POS=154; --- mysql-bin.000005 备份bin-log日志 cp mysql-bin.000004 /opt/bak/ cp mysql-bin.000005 /opt/bak/ --no-defaults mysqlbinlog --no-defaults -d test2 mysql-bin.000004 >/opt/bak/zlbk.sql mysqlbinlog --no-defaults -d test2 mysql-bin.000005 >>/opt/bak/zlbk.sql vi zlbk.sql /drop 查找drop 语句注释掉 mysql -uroot -proot <full_dump_bak.sql source ./zlbk.sql 检查数据

最新回复(0)