加入收藏 | 设为首页 | 会员中心 | 我要投稿 海南站长网 (https://www.0898zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

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

发布时间:2022-11-16 17:07:49 所属栏目:MySql教程 来源:未知
导读: 小生博客:
-------谢谢您的参考,如有疑问,欢迎交流
一、 Mysqldump备份结合binlog日志恢复使用mysqldump进行全库备份,并使用binlog日志备份,还原时,可以使用binlog日志恢复到备份前的

小生博客:

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

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

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

ffcba56b236f13ff10694a7871fca0eb.png

重启mysql服务使配置生效

验证binlog是否开启成功

64ea75b7a2b15578e91d06857d214897.png

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

07b3724bf6366c125547a61a11a9240f.png

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

542e53c38cba391a68da1289984f6d78.png

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

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

0d59da4190ec8ff5c9325de3f0253e2d.png

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

9fabb99effe4d6589150b9562206b92a.png

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

下面开始模拟

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

2154c92f61362f330b1f4bc1ddc2d8f8.png

模拟删除数据库

通过binlog日志恢复

b0dc59525e307c85c5dbb0c90a935247.png

验证

45ba7b11a381ddce111f232f0e102a50.png

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

1)示例

导出指定数据库或单个表

导出多个数据库

导出所有

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

导入

2)Mysqldump备份方案

周日凌晨1点全库备份;

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

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

首先设置cronta任务

编辑mysqlfullbackup脚本

83401ac98d326c29db18c613b3147455.png

编辑mysqldailybackup.sh脚本内容

3228a13bd43ed57ea24253fa16d00736.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

安装相关插件

安装percona-toolkit

1b2a9647b70925651a1bb295406bfe79.png

5. Xtrabackup+binkog

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

1)首先创建备份目录

2)注意开启binlog日志

0815b5a138bb85bbf28a52609b87d796.png

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

ffe723e279f2f64bea2305e4c59310dd.png

4)查看备份

21e0dc7829f649058f0d2dcf8d437ead.png

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

c322d9614753ecc2a860a5d4328d4d17.png

开始还原

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

cba59bf6d5ce7e90a4d57e5544824a3e.png

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

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

ba87cda7fe06be11c964b2a70e0e0e52.png

(编辑:海南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!