(参考书籍:《深入浅出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. MAC使用mysql报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

    遇到这种错误,需要重置密码. Step1:停止mysql,命令如下: $ sudo service mysql stop 或者是 $ sudo /usr/local/mysql/support-fil ...

  2. BinarySearch(Java)

    private int binarySearch(int[] input, int target) { if (input == null) { return -1; } int index1 = 0 ...

  3. URL编码表(收集到的,为了方便查看)

    URL编码表

  4. Load Balancing OpenSSH SFTP with HAProxy

    In my previous post I described how we setup a Ubuntu Server (12.0.4) as an OpenSSH SFTP server. In ...

  5. SCS Characteristics

    Each SCS is an autonomous web application. For the SCS's domain, all data, the logic to process that ...

  6. YAML Class ID Reference

    Classes Ordered by ID Number ID Class 1 GameObject 2 Component 3 LevelGameManager 4 Transform 5 Time ...

  7. C# to IL 8 Methods(方法)

    The code of a data type is implemented by a method, which is executed by the ExecutionEngine. The CL ...

  8. C# to IL 3 Selection and Repetition(选择和重复)

    In IL, a label is a name followed by the colon sign i.e ":". It gives us the ability to ju ...

  9. Hi3520DV200和Hi3520DV300

    处理器:V200---arm A9 600M主频V300---arm A7 800M主频 编码解码能力:V200---8路D1或者4路720PV300---8路D1或者4路1080p或者9路720p ...

  10. [转]xargs详解

    为什么要用xargs,问题的来源 在工作中经常会接触到xargs命令,特别是在别人写的脚本里面也经常会遇到,但是却很容易与管道搞混淆,本篇会详细讲解到底什么是xargs命令,为什么要用xargs命令以 ...