mysql5.7物理备份_Mysql5.7—运维常用备份方式
一、 Mysqldump备份结合binlog日志恢复
使用mysqldump进行全库备份,并使用binlog日志备份,还原时,可以使用binlog日志恢复到备份前的任意位置或时间
1. Binlog简介
主要用于主从复制和恢复数据库,使用mysqlbinlog命令查看binlog二进制日志文件
下面我们通过一个实例,演示,binlog是怎么恢复到某个时间点的
重启mysql服务使配置生效
验证binlog是否开启成功
创建测试使用的数据库和表并插入数据
为了方便实验,我们将有误操作的记录,放到一个新的binlog日志文件中
现在发现删除zhangsan是误操作,现在需要将zhangsan恢复
,去查看binlog日志文件,根据位置实现将表还原到没有删除zhangsan时,然后跳过删除zhangsan的位置,恢复tom
可以做一个分析图,用来分析出,恢复时指定的区号
从此图可以分析出,mysql-bin.00001文件全部恢复即可,
Mysql-bin.00002的219-416区是不需要恢复的
下面开始模拟
首先根据需求导出部分binlog日志
模拟删除数据库
通过binlog日志恢复
验证
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脚本
编辑mysqldailybackup.sh脚本内容
二、 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
安装相关插件
安装percona-toolkit
5. Xtrabackup+binkog
Xtrabackup+binlog可以实现时间点还原
1)首先创建备份目录
2)注意开启binlog日志
3)执行完整备份(使用xtrabackup的“流”及“压缩备份”功能)
4)查看备份
5)在生产环境中,还会备份binlog日志
可以使用—start-position和—stop-position以跳过误删除的位置,去备份binlog日志,这里不再演示
6)Xtrabackup还原
还原前需要解决数据一致性的问题
开始还原
为还原的文件设置属主属组
最后如果需要恢复到某个时间点,可以利用备份的binlog日志文件恢复
6. 在生产环境中使用的备份用户可能不是root,这时需要注意权限了
mysql5.7物理备份_Mysql5.7—运维常用备份方式相关推荐
- mysql5.7主从全备恢复_Mysql5.7—运维常用备份方式(超全)
小生博客:http://xsboke.blog.51cto.com 小生 Q Q:1770058260 -------谢谢您的参考,如有疑问,欢迎交流 一. Mysqldump备份结合binlog日志 ...
- 很实用的Linux 系统运维常用命令及常识(超实用)
很实用的Linux 系统运维常用命令及常识(超实用) 作为Linux运维,需要了解Linux操作系统的基本使用和管理知识,下面脚本之家小编给大家介绍下Linux运维需要掌握的命令,想成为Linux运维 ...
- Linux系统运维常用命令
Linux 系统运维常用命令 1 文件管理2 软件管理3 系统管理 4 服务管理5 网络管理6 磁盘管理 7 用户管理8 脚本相关9 服务配置 ============================ ...
- 运维常用Mysql基本命令
运维常用Mysql基本命令 基本命令 #远程连接 mysql -h hostname -u root -p #创建数据库 create database [databasename]; #列出所有数据 ...
- Linux运维常用命令(转)
为什么80%的码农都做不了架构师?>>> 1.删除0字节文件 find-type f -size 0 -exec rm -rf {} \; 2.查看进程 按内存从大到小排列 p ...
- linux运维常用培训
linux运维常用培训 2021年2月 目录 一. 系统监控 1.free命令使用 2.ulimit命令使用 3.top命令使用 4.du命令使用 5.ps命令使用 6. crontab 命令 二. ...
- 6.Linux运维常用命令
1.Linux运维常用命令 chage -M 99999 test #修改test用户的密码有效期:10W天 lscpu --查看cpu; #查看CPU核数,当前机器是物理机还是虚拟机 iosta ...
- oracle 运营维护_Oracle数据库日常运维常用脚本
大 中 小 Oracle数据库日常运维常用脚本 1 查看所有数据文件 select file_name from dba_data_files union select file_name from ...
- linux清除历史命令记录_Linux运维常用维护命令记录,不是长篇理论,干的实用...
运维常用命令,希望学习Linux同学更快地熟练掌握,没有太多的理论统统是干活,以下内容来自网络,需要的同学拿去慢慢消化吧. 嵌入式开发直播课 - 走进linux底层驱动 - 创客学院直播室www.m ...
最新文章
- Pandas判断dataframe是否为空
- openresty开发系列31--openresty执行流程
- 模式的秘密-观察者模式(二)
- asp.net 中RadioButtonList的选项改变事件处理(采用jquery操作)
- SysTick_Handler cortex-m0 LPC1114
- SAP License:税额保留小数位差异处理
- vue从入门到开发--2-基本结构
- 国际认可不断增加,国产数据库发展与应用前景如何?
- 如何合并mysql中的行_如何在MySQL中合并行?
- AWT_Swing_图标按钮(Java)
- 2019年最新个人所得税计算器(源码/网页版/已发布)
- 杭电2018复试上机真题
- 苹果7如何设置手机邮箱服务器,iphone邮箱设置大全
- Python按特定字符分列
- solidworks怎么画螺纹
- Linux打印一个文字logo
- 管理员已阻止你运行此应用有关详细信息请与管理员联系,怎么办,WIN10
- 携程 | 站会与公约
- ubuntu22.04下Ethercat IGH DC同步实现
- 关闭微软内置服务器,强制卸载!Win10自带的流氓应用,解放你的开始菜单