一、备份对象

数据

配置文件

代码:存储过程,存储函数,触发器

跟复制相关的配置

二进制日志文件

二、备份工具

  • 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备份恢复相关推荐

  1. 刘子佼 mysql 下载_MySQL数据管理之备份恢复案例解析 23讲 Mysql备份恢复实战 视频教程...

    课程名称:MySQL数据管理之备份恢复案例解析 23讲 Mysql备份恢复实战课程简介: 课程独家解析MySQL 5.6最新特性,课程讲师刘子佼讲课风格幽默,善于与人沟通,善于组建和协调团队攻克技术难 ...

  2. mysql 文本备份_[MySQL]用mysqldump制作文本备份_MySQL

    mysqldump bitsCN.com [MySQL] 用mysqldump制作文本备份 在使用mysqldump备份MySQL时,备份文件是SQL格式的文本文件,它由一系列create table ...

  3. 基于VMware应用环境的备份恢复解决方案思路

    基于VMware应用环境的备份恢复解决方案思路 https://mp.weixin.qq.com/s?__biz=MjM5NTk0MTM1Mw==&mid=2650635166&idx ...

  4. MySQL增删改查及备份恢复

    数据库创建及增删改查 创建数据库: mysql> create database abc; 连接数据库: mysql> use abc; 创建表: mysql> create tab ...

  5. mysql几种备份恢复_windows下mysql几种常用的备份恢复数据的方法

    在Windows系统下备份和还原mysql数据库在导入备份数据库前,database_name如果没有,是需要创建的;而且与backup20120513.sql中数据库名是一样的才能导入.假设mysq ...

  6. mysql 导入单个表_MySQL 备份恢复(导入导出)单个 innodb表

    MySQL 备份恢复单个innodb表呢,对于这种恢复我们我们很多朋友都不怎么了解了,下面一起来看一篇关于MySQL 备份恢复单个innodb表的教程 在实际环境中,时不时需要备份恢复单个或多个表(注 ...

  7. mysql back blog_mysql qpress压缩备份恢复

    说明: 1.前面博客已经介绍过gzip压缩方法,备份正常,但后来测试恢复的时候,发现命中bug,报错如下: InnoDB: Page [page id: space=9494, page number ...

  8. 使用基于scn的增量备份恢复DG备库

    By 清欢 2018年04月25日 场景:主库定时清理归档任务失败,报错备库仍需要这些归档来应用不可删除,以下是报错信息: RMAN-08137: WARNING: archived log not ...

  9. MySQL备份恢复-mysqldump/xbk

    MySQL备份恢复 1.介绍 最后一根救命稻草,备份主要是用来恢复数据 2.DBA在备份恢复工作职责 2.1设计备份策略和恢复策略 1.备份策略 1)备份的时间 凌晨,根据公司的实际业务情况,一般选择 ...

最新文章

  1. RDKit | 化合物芳香度分子描述符的计算与相关性比较
  2. 360无痕浏览器_高效使用浏览器,探索你不知道的实用功能
  3. 初学 C 语言没有项目练手?这 20 个小项目拿走不谢~
  4. imx6 linux编译,IMX6学习记录(3)-LINUX编译
  5. 「JupyterLab」 Jupyter Notebook 新生代IDE模式页面
  6. Windows 下 Conda install 安装出现CondaHTTPError: HTTP 000 CONNECTION FAILED for url解决措施
  7. 远程服务器如何创建分支,git如何远程创建分支
  8. cefsharp重写默认js弹窗(alert/confirm/prompt)
  9. 卡巴斯基公布7月中国地区20大恶意软件排行
  10. ubuntu10.04以及10.10安装配置tftp服务
  11. 图像处理: 超像素(superpixels)分割 SLIC算法
  12. MAX30102学习笔记(下)
  13. 微信即时通信原理_企业即时通讯工具需注意哪些问题
  14. unity code之FBX模型导入与渲染
  15. w ndows10启动黑屏,Windows10系统电脑开机输入密码黑屏如何解决
  16. 投影仪为何要测评?原因就是,不当大冤种
  17. 心理测评软件php mysql_心理测量软件_心理测评系统
  18. grep、sed、awk
  19. Ubuntu下U盘只读文件系统,图标上锁,文件无法写入
  20. d3dx9_35.dll如何修复

热门文章

  1. AngularJS 学习笔记值post传值
  2. bat脚本 -- 初步接触
  3. hdu 4640 Island and study-sister(状态压缩dp)
  4. 预防SQL注入攻击之我见 转
  5. L1-063 吃鱼还是吃肉 (10 分)-PAT 团体程序设计天梯赛 GPLT
  6. 【iOS】iOS开发之使用Mac自动操作制作@1x@2x@3x图片(切图)
  7. 蓝桥杯 ALGO-97 算法训练 排序
  8. linux 主机的网络属性基本配置:
  9. CheckBox jsp+javaScript多项选择checkbox取值实现
  10. java实现deflate算法