mysql云备份_MySQL:常用备份方式(基于5.7)

MySQL:常用备份方式(基于5.7)

发布时间:2020-04-06 08:59:22

来源:51CTO

阅读:10836

作者:小生博客

栏目:数据库

小生博客:http://xsboke.blog.51cto.com

-------谢谢您的参考,如有疑问,欢迎交流

一、 Mysqldump备份结合binlog日志恢复使用mysqldump进行全库备份,并使用binlog日志备份,还原时,可以使用binlog日志恢复到备份前的任意位置或时间

1. Binlog简介主要用于主从复制和恢复数据库,使用mysqlbinlog命令查看binlog二进制日志文件下面我们通过一个实例,演示,binlog是怎么恢复到某个时间点的

5f3d4dd53480da6321246ef2cae8b7a7.png

重启mysql服务使配置生效

183474a6e9f8c25d5e9634bf72016a61.png

验证binlog是否开启成功

8f8210fc70de0b0277aca81784df7262.png

创建测试使用的数据库和表并插入数据

7d03e498d782dff192d8849721bd2ddd.png

为了方便实验,我们将有误操作的记录,放到一个新的binlog日志文件中

d9f3e514be85118bde4755e3b47331bc.png

现在发现删除zhangsan是误操作,现在需要将zhangsan恢复

,去查看binlog日志文件,根据位置实现将表还原到没有删除zhangsan时,然后跳过删除zhangsan的位置,恢复tom

1e2b752db627e411d2b904670ae2e1c7.png

可以做一个分析图,用来分析出,恢复时指定的区号

951194d339dcea60ebe0146bb2b4b294.png从此图可以分析出,mysql-bin.00001文件全部恢复即可,Mysql-bin.00002的219-416区是不需要恢复的

下面开始模拟

首先根据需求导出部分binlog日志

1a96e3c97b750c09fb54021e496c544c.png

模拟删除数据库

0c31277e8277061a4213b46e20e170a3.png

通过binlog日志恢复

5232548c6c9ec6e7af389bee675c871a.png

验证

ccb40c1cc6ae4ed041aaa510fa0a9d01.png

2. Mysqldump简介mysqldump是mysql用于备份和数据转移的一个工具;将sql语句封装到文件,文件包含所有重建你的数据库所需要的 SQL命令如CREATE DATABASE,CREATE TABLE,INSERT等等,可以用来实现轻量级的快速迁移或恢复数据库mysqldump 是将数据表导成 SQL 脚本文件,可以在不同的 MySQL 版本之间使用mysqldump用于数据量很小的备份(大概几个G),当数据量大的时候不建议使用导出对象:单个表、多个表、单个数据库、多个数据库、所有数据库

1) 示例

导出指定数据库或单个表

d96637ce7cc716d21d4799d7acf8bb0a.png

6a962f3703d47a4f888f5e3e1c7f6251.png

导出多个数据库

46acce4784987cc7c204d44fd7ba6b1a.png

导出所有

a78f2eb2f824724fd4ce2e4c3be6dd5c.png

完整备份数据库并重新开启一个新binlog

9d2aa2a3a3d25d0eb4937e5a15dc38a1.png

导入

be8118f593796e8d4c6cb13e121a6c97.png

2)Mysqldump备份方案

周日凌晨1点全库备份;

周一到周六凌晨每隔4个小时增量备份一次;

设置crontab任务,每天执行备份脚本;

首先设置cronta任务

e1219f0fb16a587d78c01ab23f109224.png

编辑mysqlfullbackup脚本

2411f33efa11517ff86167dec03b4dec.png

编辑mysqldailybackup.sh脚本内容

82ae8bc319506d45061cf046c803bc6b.png

二、 Xtrabackup备份工具

1. Xtrabackup简介

Xtrabackup属于物理备份,支持物理热备,开源,性能比ibbackup强

Xtrabackup支持增量备份、完整备份、差异备份,与binlog日志组合

Xtrabackup提供两个命令行工具:Xtrabackup:可以备份innodb和xtraDB存储引擎的表Innobackupex:支持备份innodb和myisam表的存储引擎,使用perl语言编写,执行过程中会执行一个读锁

2. 注意事项

因为xtrabackup属于物理热备,所以在备份的时候可能出现已经提交但是没有将数据写入数据文件或没有提交的事务,所以在恢复时需要解决这个问题,使用—applog-log参数可以将已经备份的数据中已提交的数据写入数据文件,未提交的数据全部回滚,以保证数据的唯一性数据恢复时需要删除data下的所有文件还原后,需要设置恢复文件的属主属组,mysql才能正常运行

3. Xtrabakup的优点备份速度快,可以用于较大的数据库,弥补mysqldump的部分不足支持热备份,备份过程不打断事务的执行支持压缩备份节约磁盘空间和流量自动实现备份检验还原速度快

4. Xtrabackup安装首先下载xtrabackup并且进行安装Wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.4/binary/tarball/percona-xtrabackup-2.4.4-Linux-x86_64.tar.gz

94959fc713f2bd43e511db71e020d46d.png

fb5c6a3a82bf37284ccab62b77de93f9.png

安装相关插件

311f357e738e0c44e4f0a90be071e248.png

安装percona-toolkit

Wget https://www.percona.com/downloads/percona-toolkit/2.2.19/RPM/percona-toolkit-2.2.19-1.noarch.rpm

018f9426b51cf57973167d824d196730.png

5. Xtrabackup+binkog

Xtrabackup+binlog可以实现时间点还原

1)首先创建备份目录

c982510b5d6e1c7a4768074e2ae784f8.png

2)注意开启binlog日志

97eb69696223f193383d9e0e347e9a53.png

3)执行完整备份(使用xtrabackup的“流”及“压缩备份”功能)

3aae36df6117282b4d5a41de4e6654e2.png

4)查看备份

412d7dfdfb2cbc856552781c79d13d9a.png5)在生产环境中,还会备份binlog日志可以使用—start-position和—stop-position以跳过误删除的位置,去备份binlog日志,这里不再演示6)Xtrabackup还原还原前需要解决数据一致性的问题

8f7dd5364af6691f6495c0448b24b587.png

开始还原

c3c1db88cbf3f8ad354116ddf59c75c5.png

为还原的文件设置属主属组

a1fa240f135d0c8fb8a44da75d1dda60.png

b7ac3e044233ae7381e8d2a75634beea.png

最后如果需要恢复到某个时间点,可以利用备份的binlog日志文件恢复

6. 在生产环境中使用的备份用户可能不是root,这时需要注意权限了

3204bf56da2b947123738c298b8674a1.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值