MySQL基于mysqldump及lvmsnapshot备份恢复
一、备份对象
数据
配置文件
代码:存储过程,存储函数,触发器
跟复制相关的配置
二进制日志文件
二、备份工具
- mysqldump:逻辑备份工具
InnoDB热备、MyISAM温备、Aria温备
备份和恢复过程较慢
mysqldumper:多线程的mysqldump
很难实现差异或增量备份
- lvm-snapshot:
接近于热备的工具:因为要先请求全局锁,而后创建快照,并在创建快照完成后释放全局锁
使用copy、tar等工具进行物理备份
备份和恢复速度较快
很难实现增量备份,并且请求全局锁需要等待一段时间,在繁忙的服务器上尤其如此
- Innobase:商业备份工具,innobackup
Xtrabackup:由Percona提供的开源备份工具
InnoDB热备,增量备份
MyISAM温备,不支持增量备份
物理备份,速度快
- mysqlhotcopy:几乎冷备
三、mysqldump(适用数据量5G以下)
备份单个库,恢复时如果目标库不存在,需要手动创建
mysqldump [OPTIONS] database [tables]
备份指定的多个库
mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
备份所有库
mysqldump [OPTIONS] --all-databases [OPTIONS]
注意:备份前要加锁(下面两个不要同时使用)
--lock-all-tables:请求锁定所有表之后再备份,对MyISAM、InnoDB、Aria做温备
--single-transaction:能够对InnoDB存储引擎实现热备
备份代码:
--events:备份事件调度器代码
--routines:备份存储过程和存储函数
--triggers:备份触发器
备份时滚动日志:
--flush-logs:备份前、请求到锁之后滚动日志
复制时的同步位置标记:
--master-data=[0|1|2]
0:不记录
1:记录为CHANGE MASTER语句
2:记录为注释的CHANGE MASTER语句
使用mysqldump备份:
请求锁:--lock-all-tables或使用--single-transaction进行InnoDB热备
滚动日志:--flush-logs
选定要备份的库:--databases
记录二进制文件及为位置:--master-data=2
mysqldump --databases fansik --lock-all-tables --flush-logs > fansik.sql
或者
mysqldump --databases fansik --single-transaction --flush-logs > fansik.sql
具体操作:
恢复:
建议:关闭二进制日志,关闭其他用户连接
备份策略:基于mysqldump
备份:mysqldump+二进制日志文件
周日做一次完全备份:备份的同时滚动日志
周一至周六:备份二进制日志
恢复:
完全备份+各二进制日志文件中至此刻的事件
对于MySQL配置文件,以及与MySQL相关的配置文件再每次修改后都应该直接进行备份
四、lvm-snapshot:基于LVM快照的备份
1、事务日志跟数据文件文件必须在同一个卷上;
2、创建快照之前,要请求MySQL的全局锁;在快照创建完成之后释放锁;
3、请求全局锁完成之后,做一次日志滚动;做二进制日志文件及位置标记(手动进行);
五、lvm-snapshot备份步骤
1、请求全局锁,并滚动日志
mysql> FLUSH TABLES WITH READ LOCK;
mysql> FLUSH LOGS;
2、做二进制日志文件及位置标记(手动进行);
# mysql -e 'show master status' > /tmp/fansik
3、创建快照卷
# lvcreate -L 100M -s -n fansik -p r /path/ fansik_lv
4、释放全局锁
mysql> UNLOCK TABLES;
5、挂载快照并备份
cp
6、备份完成之后删除快照卷(卸载)
六、lvm-snapshot恢复步骤
1、二进制日志保存好,提取备份之后的所有事件至某sql脚本中
2、还原数据,修改权限及属主数组等,并启动mysql
3、座即时点还原
转载于:https://www.cnblogs.com/fansik/p/5564004.html
MySQL基于mysqldump及lvmsnapshot备份恢复相关推荐
- 刘子佼 mysql 下载_MySQL数据管理之备份恢复案例解析 23讲 Mysql备份恢复实战 视频教程...
课程名称:MySQL数据管理之备份恢复案例解析 23讲 Mysql备份恢复实战课程简介: 课程独家解析MySQL 5.6最新特性,课程讲师刘子佼讲课风格幽默,善于与人沟通,善于组建和协调团队攻克技术难 ...
- mysql 文本备份_[MySQL]用mysqldump制作文本备份_MySQL
mysqldump bitsCN.com [MySQL] 用mysqldump制作文本备份 在使用mysqldump备份MySQL时,备份文件是SQL格式的文本文件,它由一系列create table ...
- 基于VMware应用环境的备份恢复解决方案思路
基于VMware应用环境的备份恢复解决方案思路 https://mp.weixin.qq.com/s?__biz=MjM5NTk0MTM1Mw==&mid=2650635166&idx ...
- MySQL增删改查及备份恢复
数据库创建及增删改查 创建数据库: mysql> create database abc; 连接数据库: mysql> use abc; 创建表: mysql> create tab ...
- mysql几种备份恢复_windows下mysql几种常用的备份恢复数据的方法
在Windows系统下备份和还原mysql数据库在导入备份数据库前,database_name如果没有,是需要创建的;而且与backup20120513.sql中数据库名是一样的才能导入.假设mysq ...
- mysql 导入单个表_MySQL 备份恢复(导入导出)单个 innodb表
MySQL 备份恢复单个innodb表呢,对于这种恢复我们我们很多朋友都不怎么了解了,下面一起来看一篇关于MySQL 备份恢复单个innodb表的教程 在实际环境中,时不时需要备份恢复单个或多个表(注 ...
- mysql back blog_mysql qpress压缩备份恢复
说明: 1.前面博客已经介绍过gzip压缩方法,备份正常,但后来测试恢复的时候,发现命中bug,报错如下: InnoDB: Page [page id: space=9494, page number ...
- 使用基于scn的增量备份恢复DG备库
By 清欢 2018年04月25日 场景:主库定时清理归档任务失败,报错备库仍需要这些归档来应用不可删除,以下是报错信息: RMAN-08137: WARNING: archived log not ...
- MySQL备份恢复-mysqldump/xbk
MySQL备份恢复 1.介绍 最后一根救命稻草,备份主要是用来恢复数据 2.DBA在备份恢复工作职责 2.1设计备份策略和恢复策略 1.备份策略 1)备份的时间 凌晨,根据公司的实际业务情况,一般选择 ...
最新文章
- RDKit | 化合物芳香度分子描述符的计算与相关性比较
- 360无痕浏览器_高效使用浏览器,探索你不知道的实用功能
- 初学 C 语言没有项目练手?这 20 个小项目拿走不谢~
- imx6 linux编译,IMX6学习记录(3)-LINUX编译
- 「JupyterLab」 Jupyter Notebook 新生代IDE模式页面
- Windows 下 Conda install 安装出现CondaHTTPError: HTTP 000 CONNECTION FAILED for url解决措施
- 远程服务器如何创建分支,git如何远程创建分支
- cefsharp重写默认js弹窗(alert/confirm/prompt)
- 卡巴斯基公布7月中国地区20大恶意软件排行
- ubuntu10.04以及10.10安装配置tftp服务
- 图像处理: 超像素(superpixels)分割 SLIC算法
- MAX30102学习笔记(下)
- 微信即时通信原理_企业即时通讯工具需注意哪些问题
- unity code之FBX模型导入与渲染
- w ndows10启动黑屏,Windows10系统电脑开机输入密码黑屏如何解决
- 投影仪为何要测评?原因就是,不当大冤种
- 心理测评软件php mysql_心理测量软件_心理测评系统
- grep、sed、awk
- Ubuntu下U盘只读文件系统,图标上锁,文件无法写入
- d3dx9_35.dll如何修复
热门文章
- AngularJS 学习笔记值post传值
- bat脚本 -- 初步接触
- hdu 4640 Island and study-sister(状态压缩dp)
- 预防SQL注入攻击之我见 转
- L1-063 吃鱼还是吃肉 (10 分)-PAT 团体程序设计天梯赛 GPLT
- 【iOS】iOS开发之使用Mac自动操作制作@1x@2x@3x图片(切图)
- 蓝桥杯 ALGO-97 算法训练 排序
- linux 主机的网络属性基本配置:
- CheckBox jsp+javaScript多项选择checkbox取值实现
- java实现deflate算法