mysql备份学习笔记及xtrabackup安装
(参考书籍:《深入浅出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安装的更多相关文章
- PHP学习笔记----IIS7下安装配置php环境
原文:PHP学习笔记----IIS7下安装配置php环境 Php如何安装 Php版本的选择 Php在windows下的(php5.4.7)有两种版本: VC9 x86 Non Thread Safe ...
- 基于【 MySql 】二 || mysql详细学习笔记
mysql重点学习笔记 /* Windows服务 */ -- 启动MySQL net start mysql -- 创建Windows服务 sc create mysql binPath= mysql ...
- openresty 学习笔记一:环境安装
openresty 学习笔记一:环境安装 openresty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库.第三方模块以及大多数的依赖项.用于方便地搭 ...
- MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- Mysql数据库学习笔记之数据库索引(index)
什么是索引: SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间. 聚集索引:该索引中键值的逻辑顺序决定了表中相应行的物 ...
- MYSQL数据库学习笔记1
MYSQL数据库学习笔记1 数据库概念 关系数据库 常见数据库软件 SQL SQL的概念 SQL语言分类 数据库操作 创建数据库 查看数据库的定义 删除数据库 修改数据库 创建表 数据类型 约束 ...
- Mysql事务学习笔记
Mysql事务学习笔记 1.事务概述 事务是数据库的执行单元,它包含了一条或多条sql语句,进行的操作是要么全部执行,要么全部都不执行. 2.事务执行命令 语法格式: start transactio ...
随机推荐
- Unity读取AssetBundle资源全教程(所有读取方式)
读取/加载 AssetBundle 资源的多种方式 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Ch ...
- PAT-L2-007 家庭房产 (union-find) 小数据 没有什么是暴力解决不了的!!
题目分析: 典型的union-find 算法 想法: 先不着急 union 因为每一个人的房产信息不知道 所以先输入所有信息 同时保留与自己有关系的每一个人 待初始化每一个人的房产信息后,再union ...
- 基于C#利用ffmpeg提取视频帧
利用ffmepg提取视频帧实际上是利用C#调用ffmepg命令行进行处理对应的视频,然后输出出视频帧 GetPicFromVideo("); static public string Get ...
- 20155208 《Java程序设计》实验一(Java开发环境的熟悉)实验报告
20155208 <Java程序设计>实验一(Java开发环境的熟悉)实验报告 一.实验内容及步骤 (一)使用JDK编译.运行简单的java程序 命令行下的程序开发 打开windows下的 ...
- 20155208徐子涵 2016-2017-2 《Java程序设计》第6周学习总结
20155208徐子涵 2016-2017-2 <Java程序设计>第6周学习总结 教材学习内容总结 10.1.1 1.Java将输入/输出抽象化为串流,数据有来源及目的地,衔接两者的是串 ...
- ISCC的 Web——WP
比赛已经结束了,自己做出来的题也不是很多,跟大家分享一下 第一题:比较数字大小 打开连接 在里面随意输入一个值,他会提示数字太小了 那么我们输入他允许的最大值试试 他还是提示太小了 我们知道做web‘ ...
- 【HDOJ1069】【动态规划】
http://acm.hdu.edu.cn/showproblem.php?pid=1069 Monkey and Banana Time Limit: 2000/1000 MS (Java/Othe ...
- random(随机模块)
程序中有很多地方需要用到随机字符,比如登录网站的随机验证码,通过random模块可以很容易生成随机字符串 >>> random.randrange(1,10) #返回1-10之间的一 ...
- 前端开发利器: Bootstrap + AngularJS
http://blog.csdn.net/conquer0715/article/details/51181391 概述 在HTML5盛行的互联网时代,涌现诸多的前端html/css/js框架,基于其 ...
- servlet创建项目过程中,servlet内容重写的两种搭建,tomcat的配置,class的存放位置,web.xml的搭建等注意事项与易错点
运行一个servlet项目:需要做这些前提工作: 1.配置tomcat,在server选项卡的设置也就基本的设置,HTTP port与JMX port等端口号:基本都是默认的.这里需要注意的是,有的教 ...