mysql数据库灾难恢复计划

恢复数据的策略,思路说明:
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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值