(参考书籍:《深入浅出MySQL》)

一、备份恢复策略

a)      确定要备份的表的存储引擎是事务型还是非事务型

b)      确定使用全备份还是增量备份

c)      定期做备份,备份的周期需要充分考虑系统可承受恢复时间

d)      确保MySQL打开log-bin选项,有了BINLOG,MySQL才可以在必要的时候做完整恢复,或基于时间点的恢复,或基于位置的恢复

二、备份

a)      备份指定的数据库或者此数据库中的某些表

i.          mysqldump [options] db_name [tables]

b)      备份指定的一个或多个数据库

i.          mysqldump [options] --databases DB1 [DB2 DB3 ...]

c)      备份所有数据库

i.          mysqldump [options] --all-database

三、恢复

1、 完全恢复

mysql -uroot -p dbname<bakfile

mysqlbinlog binlog-file|mysql -u root -p***(备份后数据不完整将备份后执行的日志进行重做)

2、 基于时间点恢复(不完全恢复)

a)      上午10点发生误操作,用备份和binlog将数据恢复到故障前

mysqlbinlog –stop-date=”2005-04-20 9:59:59” /var/log/mysql/bin.123456 | mysql -uroot -pmypwd

b)      跳过故障时的时间点,继续执行后面的BINLOG,完成恢复

mysqlbinlog --start-date=”2015-04-20 10:01:00” /var/log/mysql/bin.123456 | mysql -uroot -pmypwd

3、 基于位置恢复

a)      在/tmp目录创建小的文本文件,编辑此文件,找到出错语句前后的位置号,例如前后位置号分别是368312和368315

mysqldump --start-date=”2005-04-20 9:55:00” --stop-date=”2005-04-20 10:05:00” /var/log/bin.123456 > /tmp/mysql_restore.sql

b)      mysqlbinlog --stop-position=”368312” /var/log/mysql/bin.123456 | mysql -uroot -pmypwd

mysqlbinlog --start-position=”368315” /var/log/mysql/bin.123456 | mysql -uroot -pmypwd

四、Xtrabackup热备工具

InnoDB在线热备工具,具有开源、免费、支持在线热备、备份恢复速度快、占用磁盘空间小等特点,支持不同情况下的多种备份形式。

包含两个主要的工具,即xtrabackup和innobackupex,主要区别:

xtrabackup只能备份InnoDB和XtraDB两种数据表,而不能备份MyISAM数据表;innobackupex是一个封装了xtrabackup的Perl脚本,支持同时备份InnoDB和MyISAM,但在对MyISAM备份时需要加一个全局的读锁。

五、备份操作记录

--xtrabackup安装

--下载安装xtrabackup(2.4.4)(/usr/local/software/ percona-xtrabackup-2.4.4.tar.gz)

wget http://...

--解压缩xtrabackup安装包

tar zxvf percona-xtrabackup-2.4.4.tar.gz

--移动重命名

mv percona-xtrabackup-2.4.4 /usr/local/xtrabackup

--安装依赖插件

yum install cmake gcc gcc-c++ libaio libaio-devel automake autoconf bzr bison libtool ncurses5-devel

--cmake编译

cmake -DBUILD_CONFIG=xtrabackup_release && make -j4

--安装

make install

--链接bin到系统目录

ln -sf /usr/local/xtrabackup/bin/innobackupex /usr/bin/

ln -sf /usr/local/xtrabackup/bin/xtrabackup /usr/bin/

========================================

--cmake编译过程中错误:

--安装boost(/usr/local/software/boost_1_59_0.tar.gz)

wget http://...

tar zxvf boost_1_59_0.tar.gz

mv boost_1_59_0 /usr/local/boost

cd /usr/local/boost

./bootstrap.sh

./b2 install --perfix=dir

--安装libev(/usr/local/software/libev-4.24.tar.gz)

wget http://...

tar zxvf libev-4.24.tar.gz

mv libev-4.24 /usr/local/libev

./configure

make

make install

--安装crypt

yum install crypt*

yum install libgcrypt*

==========================================

--mysql启动bin-log

--/etc/my.cnf配置文件中

log_bin=mysql-bin

server-id=1

mysql备份学习笔记及xtrabackup安装的更多相关文章

  1. PHP学习笔记----IIS7下安装配置php环境

    原文:PHP学习笔记----IIS7下安装配置php环境 Php如何安装 Php版本的选择 Php在windows下的(php5.4.7)有两种版本: VC9 x86 Non Thread Safe ...

  2. 基于【 MySql 】二 || mysql详细学习笔记

    mysql重点学习笔记 /* Windows服务 */ -- 启动MySQL net start mysql -- 创建Windows服务 sc create mysql binPath= mysql ...

  3. openresty 学习笔记一:环境安装

    openresty 学习笔记一:环境安装 openresty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库.第三方模块以及大多数的依赖项.用于方便地搭 ...

  4. MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  5. MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  6. MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  7. Mysql数据库学习笔记之数据库索引(index)

    什么是索引: SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间. 聚集索引:该索引中键值的逻辑顺序决定了表中相应行的物 ...

  8. MYSQL数据库学习笔记1

      MYSQL数据库学习笔记1 数据库概念 关系数据库 常见数据库软件 SQL SQL的概念 SQL语言分类 数据库操作 创建数据库 查看数据库的定义 删除数据库 修改数据库 创建表 数据类型 约束 ...

  9. Mysql事务学习笔记

    Mysql事务学习笔记 1.事务概述 事务是数据库的执行单元,它包含了一条或多条sql语句,进行的操作是要么全部执行,要么全部都不执行. 2.事务执行命令 语法格式: start transactio ...

随机推荐

  1. Unity 3D读取Excel表格、导入信息、导出Json

    Unity 3D读取/导入Excel表格 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar ...

  2. Gym.101908 Brazil Subregional Programming Contest(寒假自训第六场)

    这几天睡眠时间都不太够,室友晚上太会折腾了,感觉有点累,所以昨天的题解也没写,看晚上能不能补起来. B . Marbles 题意:给定N组数(xi,yi),玩家轮流操作,每次玩家可以选择其中一组对其操 ...

  3. centos安装jdk1.8

    一.安装Java环境 1. 删除系统预装的opensdk或其他sdk 用命令 java -version 验证是否存在sdk 2. 下载Java JDK约定的版本 版本:Java SE Develop ...

  4. Python 模块管理1

    Python 模块管理   导入新的模块 创建一个 calculate.py 文件 print('ok') def add(x,y): return x + y def sub(x,y): retur ...

  5. Python知识点整理,基础1 - 基本语法

  6. Js 模式匹配

    模式匹配: 什么是模式匹配:可以设置查找或替换的规则! 何时使用模式匹配:要查找的关键字可能发生有规律的变化. 如何使用模式匹配: 1.先定义模式:/关键字/模式 比如:var reg=/no/i; ...

  7. LG4781 【模板】拉格朗日插值

    题意 题目描述 由小学知识可知,$n$个点$(x_i,y_i)$可以唯一地确定一个多项式 现在,给定$n$个点,请你确定这个多项式,并将$k$代入求值 求出的值对$998244353$取模 输入输出格 ...

  8. XML基础入门

    一.概念 XML: Extensible  markup Language,可拓展标记语言 功能:存储数据 1.配置文件 2.在网络中传输数据 html和xml的区别: 1.xml标记全是自定义的 2 ...

  9. 【转载】Win10系统怎么清空剪切板?Win10系统清空剪切板的方法

    以下文转载至系统之家: 网址:http://www.xitongzhijia.net/xtjc/20190319/152585.html Win10系统怎么清空剪切板?Win10系统清空剪切板的方法 ...

  10. GBDT(Gradient Boosting Decision Tree) 没有实现仅仅有原理

                阿弥陀佛.好久没写文章,实在是受不了了.特来填坑,近期实习了(ting)解(shuo)到(le)非常多工业界经常使用的算法.诸如GBDT,CRF,topic model的一些算 ...