一、备份对象

数据

配置文件

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

跟复制相关的配置

二进制日志文件

二、备份工具

  • 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、座即时点还原

MySQL基于mysqldump及lvmsnapshot备份恢复的更多相关文章

  1. MySQL基于LVM快照的备份恢复(临时)

    目录1.数据库全备份2.准备LVM卷3.数据恢复到LVM卷4.基于LVM快照备份数据5.数据灾难恢复6.总结 写在前面:测试环境中已安装有mysql 5.5.36数据库,但数据目录没有存放在LVM卷, ...

  2. MySQL 基于mysqldump备份工具实战演练

    前言: 细节提示:先执行 show global variables like 'log_bin';看看log_bin的值,如果服务器变量log_bin的值为OFF,需要修改my.cnf配置文件,将l ...

  3. MySQL for OPS 06:备份恢复

    写在前面的话 人在河边走,湿鞋是早晚是事情,操作服务器,数据库也一样.谁也不知道自己哪一天控制不住自己就手贱.这时候有两个东西能救我们,一是备份,二是 bin log,bin log 前面讲了,但是 ...

  4. mysql用户授权及数据备份恢复

    用户授权与权限撤销 修改数据库管理员从本机登陆的密码测试: mysqladmin -hlocalhost -uroot -p password "新密码" Enter passwo ...

  5. 关于MySQL 事务,视图,索引,数据库备份,恢复

      /*创建数据库*/ CREATE DATABASE `mybank`;/*创建表*/USE mybank;CREATE TABLE `bank`(    `customerName` CHAR(1 ...

  6. mysql 基于lvm快照的备份

    1.查看磁盘数 ls /dev/ | grep sd 2.快照备份 pvcreate /dev/sdb #制作成物理卷vgcreate testvg /dev/sdblvcreate -L200M - ...

  7. MySQL基于mysqldump快速搭建从库

    MySQL主从搭建总的来说大致分为3个步骤: 1. 为主从实例添加复制所需参数以及创建复制用的账户 2. 需要 […]

  8. MySQL 利用xtrabackup进行增量备份详细过程汇总 (转)

    Xtrabackup下载.安装以及全量备份请参考:http://blog.itpub.net/26230597/viewspace-1465772/ 1,创建mysql备份用户 mysql -uroo ...

  9. MySQL的备份和恢复-基于LVM快照的备份(lvm-snapshot)

    MySQL的备份和恢复-基于LVM快照的备份(lvm-snapshot) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是快照卷 如上图所示,原卷和快照卷可以不一样大,因为 ...

随机推荐

  1. 神奇的NOIP模拟赛 T1 LGTB 玩扫雷

    LGTB 玩扫雷 在一个n m 的棋盘上,有位置上有雷(用“*” 表示),其他位置是空地(用“.” 表示).LGTB 想在每个空地上写下它周围8 个方向相邻的格子中有几个雷.请帮助他输出写了之后的棋盘 ...

  2. Linux下备份系统至另一硬盘

    首先会想到dd命令. 但,, 1,若是小硬盘还好,上T的大硬盘这样做肯定不明智; 2,况且dd是在硬件层面的拷贝,前面的MBR也会随之恢复到另一个盘,若源硬盘是100G,目标盘是200G,又会出问题, ...

  3. Windows Server 2012 R2 设置

    一.任务栏左下角启动服务器管理器,然后进行设置.1.登录不显示服务器管理器 2.本地服务器,看到右边的IE增强的安全配置,如图所示,关闭两项内容.这样就关闭了IE增强安全提示框. 3.“工具”菜单,启 ...

  4. 在hibernate中用sql语句

    在hibernate中用sql语句,语句是createSQLquery 查出来的是,一列或者多列的数据,要将其转化为对象,有两种方式, 对于已经被hibernate所管理的实体类,在后面加.adden ...

  5. win10系统输入法用户体验

    因为现在的输入法好多的广告弹窗所以我一直用系统原生的输入法,自从去年升级win10以后一直在用自带的输入法, 1.用户界面设计 win10系统自带的输入法用户界面设计非常扁平化,没有哪些所谓的皮肤啥的 ...

  6. hdu1394

    //Accepted 292 KB 46 ms //利用线段树求逆序数 //对于每个数看前面比他大的数有多少个,更新这个数的个数 #include <cstdio> #include &l ...

  7. iOS 设计模式之工厂模式

    iOS 设计模式之工厂模式 分类: 设计模式2014-02-10 18:05 11020人阅读 评论(2) 收藏 举报 ios设计模式 工厂模式我的理解是:他就是为了创建对象的 创建对象的时候,我们一 ...

  8. 算法导论 第六章 思考题6-3 Young氏矩阵

    这题利用二叉堆维持堆性质的办法来维持Young氏矩阵的性质,题目提示中写得很清楚,不过确实容易转不过弯来. a,b两问很简单.直接看c小问: 按照Young氏矩阵的性质,最小值肯定在左上角取得,问题在 ...

  9. UIkit框架介绍

    UIKit Framework The UIKit framework (UIKit.framework) provides crucial infrastructure for implementi ...

  10. 初见Gnuplot——时间序列的描述

    研读一本书,<数据之魅:基于开源工具的数据分析>(Data Analysis with Open Source Tools),写的很好.这里,复述一下书中用Gnuplot分析时间序列数据的 ...