centos 7 修复mysql_Centos7Mysql增量备份与恢复——亲测有效

Mysql增量备份与恢复

一般备份与恢复

基于位置的恢复

基于时间的恢复

实验材料:

一台Centos7已安装Mysql数据库,并开启3306端口

不会安装的可以看我之前写的博客

https://blog.csdn.net/weixin_46902396/article/details/108171060

注意:三种增量备份方式都需要有完全备份

一般备份与恢复

1).先录入样本

22a0cc16eb062c3af84922573d040ee1.png

2).进行完全备份

mkdir /mysql.bak

mysqldump -u root -p qqq cjb > /mysql.bak/qqq_cjb-$(date +%F).sql

ll /mysql.bak/

7b07b22cd955fb19c2426f496862cfdc.png

3).开启日志文件

vim /usr/local/mysql/my.cnf

在[mysqld]下添加

log_bin=/usr/local/mysql/mysql-bin

4).重启服务

systemctl restart mysqld

netstat -anpt | grep mysqld

5).查看生成的日志文件

ll /usr/local/mysql/mysql-bin.*

bb4fa87e5ee0bbe02b247c2f35870c2f.png6).再次录入样本

7dd542a39f174951a7c3a8ab1bc6a8d8.png

7).进行增量备份

mysqladmin -u root -p flush-logs

ll /usr/local/mysql/mysql-bin.*

cp /usr/local/mysql/mysql-bin.000002 /mysql.bak/

fe25afa33bfa58964cdd3f7b910f92de.png

8).模拟故障,删除cjb表

mysql -u root -p -e 'drop table qqq.cjb';

mysql -u root -p -e 'select *from qqq.cjb';

b3837b035ed15b67c0dac615505aecea.png

9).先恢复完全备份 ,再进行增量恢复

#恢复完全备份

mysql -u root -p qqq < /mysql.bak/qqq_cjb-2020-08-27.sql

mysql -u root -p -e 'select *from qqq.cjb';

#增量恢复

mysqlbinlog --no-defaults /mysql.bak/mysql-bin.000002 | mysql -u root -p

mysql -u root -p -e 'select *from qqq.cjb';

a11628b647a918f4db91cf9f57cc8775.png

基于位置的恢复

模拟故障,删除cjb表

mysql -u root -p -e 'drop table qqq.cjb';

mysql -u root -p -e 'select *from qqq.cjb';

查看二进制文件来根据位置恢复

mysqlbinlog --no-defaults /mysql.bak/mysql-bin.000002 |grep -v "/"

753279b3dae1a0df8c139fccabbdda98.png

1.先恢复完全备份,再进行基于停止位置恢复

指定‘停止位置’,即不恢复‘bbb’的用户数据

#恢复完全备份

mysql -u root -p qqq < /mysql.bak/qqq_cjb-2020-08-27.sql

mysql -u root -p -e 'select *from qqq.cjb';

#指定停止位置恢复数据

mysqlbinlog --no-defaults --stop-position='335' /mysql.bak/mysql-bin.000002 | mysql -u root -p

mysql -u root -p -e 'select *from qqq.cjb';

df52eae249f3633cecda9084336be632.png再次模拟故障,指定起始位置:即只恢复‘bbb’的数据,跳过‘aaa’的数据

mysql -u root -p -e 'drop table qqq.cjb';

mysql -u root -p -e 'select *from qqq.cjb';

2.先恢复完全备份,再进行基于起始位置恢复

#恢复完全备份

mysql -u root -p qqq < /mysql.bak/qqq_cjb-2020-08-27.sql

mysql -u root -p -e 'select *from qqq.cjb';

#指定起始位置恢复数据

mysqlbinlog --no-defaults --start-position='335' /mysql.bak/mysql-bin.000002 | mysql -u root -p

mysql -u root -p -e 'select *from qqq.cjb';

33b12dd10a6afaae9c9cbb8e2b1873f5.png

基于时间的恢复

再次模拟故障

mysql -u root -p -e 'drop table qqq.cjb';

mysql -u root -p -e 'select *from qqq.cjb';

查看二进制文件来根据时间恢复

b3ee2fcf2c4512ec5389f5a2b97ff42b.png

1.先恢复完全备份,再指定结束时间进行恢复

6ed486aa63351b12e602766d3208525e.png

再次模拟故障

mysql -u root -p -e 'drop table qqq.cjb';

mysql -u root -p -e 'select *from qqq.cjb';

2.先恢复完全备份,再指定起始时间进行恢复

b391416c63423630b4353ea6f5504ea9.png

实验完成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值