Centos7Mysql增量备份与恢复——亲测有效

   日期:2020-08-29     浏览:194    评论:0    
核心提示:Mysql增量备份与恢复一般备份与恢复基于位置的备份与恢复基于时间的备份与恢复实验材料:一台Centos7已安装Mysql数据库,并开启3306端口不会安装的可以看我之前写的博客https://blog.csdn.net/weixin_46902396/article/details/108171060注意:三种增量备份方式都需要有完全备份一般备份与恢复1).先录入样本2).进行完全备份mkdir /mysql.bakmysql -u root -p qqq cjb > /mys

Mysql增量备份与恢复

  • 一般备份与恢复
    • 基于位置的恢复
      • 基于时间的恢复

实验材料:
一台Centos7已安装Mysql数据库,并开启3306端口
不会安装的可以看我之前写的博客
https://blog.csdn.net/weixin_46902396/article/details/108171060

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

一般备份与恢复

1).先录入样本

2).进行完全备份

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


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.*

6).再次录入样本

7).进行增量备份

mysqladmin -u root -p flush-logs
ll /usr/local/mysql/mysql-bin.*
cp /usr/local/mysql/mysql-bin.000002 /mysql.bak/


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

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


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';

基于位置的恢复

模拟故障,删除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 "/"


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';

再次模拟故障,指定起始位置:即只恢复‘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';

基于时间的恢复

再次模拟故障

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

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

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

再次模拟故障

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

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

实验完成

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服