XtraBackup备份笔记
安装
rpm -Uhv http://www.percona.com/downloads/percona-release/percona-release-0.0-1.x86_64.rpm
yum install xtrabackup
备份
innobackupex /backup/xtrabackup/
预备
innobackupex --apply-log /backup/xtrabackup/全备
还原
service mysqld stop
删除原来的mysql文件夹,创建一个新的mysql文件夹
innobackupex --copy-back /backup/xtrabackup/全备
chown –R mysql.mysql /var/lib/mysql
增量备份
先弄个全备
innobackupex /home/db_backup/
做第一个增量
innobackupex --incremental /backup/xtrabackup/ --incremental-basedir=/backup/xtrabackup/全备
做第二个增量
innobackupex --incremental /backup/xtrabackup/ --incremental-basedir=/backup/xtrabackup/增量1
预备增量
innobackupex --apply-log --redo-only /backup/xtrabackup/全备
innobackupex --apply-log --redo-only /backup/xtrabackup/全备 --incremental-dir=/backup/xtrabackup/增量1
innobackupex --apply-log /backup/xtrabackup/增量1 --incremental-dir=/backup/xtrabackup/增量2
还原
service mysqld stop
删除原来的mysql文件夹,创建一个新的mysql文件夹
innobackupex --copy-back /backup/xtrabackup/全备
chown –R mysql.mysql /var/lib/mysql
最后放个异地备份的脚本
#!/bin/sh # xtrabackup的相关配置 INNOBACKUPEX="innobackupex " MY_CNF="/etc/my.cnf" MY_USER="xtrabackup" MY_PASSWORD="xtrabackup" MY_SOCKET="/var/lib/mysql/mysql.sock" # 远程备份机 文件名配置 REMOTE_HOST="testa" REMOTE_DIR="/backup/xtrabackup" LOCAL_LSN_FILE="/backup/xtrabackup/.to_lsn_important" DATE_NAME=`date +%Y-%m-%d-%H-%M-%S` REMOTE_FILE=$DATE_NAME.tar.gz LOCK_FILE="/backup/xtrabackup/.mysql.backup.lock" LOCAL_BACKUP_DIR="/backup/xtrabackup/$DATE_NAME" # 输出帮助信息 function usage() { echo "Usage:" echo "-f db will be backuped fully with this parameter. If not , incrementally. " } #防止同时执行两个备份命令,发生冲突 if [ -f $LOCK_FILE ] ;then echo 'Mysql backup lockfile is locked!' exit fi full= while getopts "fh" arg #选项后面的冒号表示该选项需要参数 do case $arg in f) full= ;; h) # 输出帮助信息 usage exit ;; esac done echo "backup dir is $REMOTE_DIR/$REMOTE_FILE" # backup up db to remote host echo "start to backup db!"`date +%Y-%m-%d-%H-%M-%S` "x ] ;then # 全量备份 ' > $LOCK_FILE $INNOBACKUPEX --defaults-file=$MY_CNF --user=$MY_USER --password=$MY_PASSWORD --socket=$MY_SOCKET ./ --stream=tar | gzip | ssh $REMOTE_HOST "cat - > $REMOTE_DIR/FULL-$REMOTE_FILE" ssh $REMOTE_HOST "cd $REMOTE_DIR;rm -f xtrabackup_checkpoints;tar zxfi $REMOTE_DIR/FULL-$REMOTE_FILE xtrabackup_checkpoints " toLSN=$( ssh $REMOTE_HOST "cat $REMOTE_DIR/xtrabackup_checkpoints|grep to_lsn|awk -F= '{gsub(/ /,\"\",\$2);print \$2}'" ) if [ $toLSN ] ;then echo $toLSN > $LOCAL_LSN_FILE else echo 'no lsn from remote host!please check!' fi else # 增量备份 if [ -f $LOCAL_LSN_FILE ] ;then toLSN=`cat $LOCAL_LSN_FILE` fi if [ ! $toLSN ] ;then echo 'last LSN is not set !please check!' exit fi ' > $LOCK_FILE mkdir -p $LOCAL_BACKUP_DIR echo "last to lsn is "$toLSN $INNOBACKUPEX --parallel= --defaults->/tmp/innobackexLog toLSN=$( cd $LOCAL_BACKUP_DIR/*; cat xtrabackup_checkpoints|grep to_lsn|awk -F= '{gsub(/ /,"",$2);print $2}' ) echo "new to lsn is "$toLSN; if [ $toLSN ] ;then echo $toLSN > $LOCAL_LSN_FILE cd $LOCAL_BACKUP_DIR/*;tar zc .|ssh $REMOTE_HOST "cat - > $REMOTE_DIR/$REMOTE_FILE" echo "save file to $REMOTE_HOST @ $REMOTE_DIR/$REMOTE_FILE" else echo 'no lsn from local backup file!delete remote backup file!'$LOCAL_BACKUP_DIR/$REMOTE_FILE fi echo "remove $LOCAL_BACKUP_DIR" rm -rf $LOCAL_BACKUP_DIR fi rm -f $LOCK_FILE echo "end to backup db!"`date +%Y-%m-%d-%H-%M-%S`
XtraBackup备份笔记的更多相关文章
- mysqldump和xtrabackup备份原理实现说明
背景: MySQL数据库备份分为逻辑备份和物理备份两大类,犹豫到底用那种备份方式的时候先了解下它们的差异: 逻辑备份的特点是:直接生成SQL语句,在恢复的时候执行备份的SQL语句实现数据库数据的重现. ...
- Percona XtraBackup 备份原理说明【转】
本文来自:http://mysql.taobao.org/monthly/2016/03/07/ 前言 Percona XtraBackup(简称PXB)是 Percona 公司开发的一个用于 MyS ...
- 利用xtrabackup备份mysql数据库
利用xtrabackup备份mysql数据库 一.安装1.直接下载二进制文件wget http://www.percona.com/downloads/XtraBackup/XtraBackup-2. ...
- MariaDB之基于Percona Xtrabackup备份大数据库[完整备份与增量备份]
MariaDB之基于Percona Xtrabackup备份大数据库[完整备份与增量备份] 1.Xtrabackup的安装 percona-xtrabackup-2.2.3-4982.el6.x86_ ...
- Percona Xtrabackup备份mysql(转)
add by zhj:另外,参考了Xtrabackup之innobackupex备份恢复详解,我用的是Xtrabackup2.2.6版本, 可以成功备份和恢复指定的数据库. 原文:http://www ...
- MySQL · 物理备份 · Percona XtraBackup 备份原理
http://mysql.taobao.org/monthly/2016/03/07/ 前言 Percona XtraBackup(简称PXB)是 Percona 公司开发的一个用于 MySQL 数据 ...
- Percona XtraBackup 备份原理
前言 Percona XtraBackup(简称PXB)是 Percona 公司开发的一个用于 MySQL 数据库物理热备的备份工具,支持 MySQl(Oracle).Percona Server 和 ...
- mysql xtrabackup 备份恢复实现,mysql命令备份数据库,打包压缩数据库
简介 Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具.特点: (1)备份过程快速.可靠 ...
- xtrabackup备份mysql数据库的使用方法
xtrabackup是由percona提供的mysql备份工具,它是一款物理备份工具,通过连接数据库把数据库的数据备份出来.对于innodb存储引擎其支持全量备份和增量备份.对于myisam存储引擎只 ...
随机推荐
- Facade设计模式
Facade模式 Facade模式要求一个子系统的外部与其内部的通信必须通过一个统一的Facade对象进行.Facade模式提供一个高层次的接口,使得子系统更易于使用. 就如同医院的接待员一样,Fac ...
- asp.net web api添加统一异常处理
1.自定义异常处理过滤器 /// <summary> /// 自定义异常处理过滤器 /// </summary> public class CustomExceptionFil ...
- Nginx-->基础-->安装-->001:安装总结
root@ubuntu:/data/src/nginx# ./configure --help --help print this message --prefix=PATH set installa ...
- Unbunt vi 编辑器键盘按键不正确的一次经历与解决方案
在 VMWare 上安装了 Ubuntu Server 14.04.1(这个默认没有安装 vim ) 我在配置网卡的时候,编辑得很心碎.键盘输入和平常vi的响应完全不一样.又不能用 SecureCRT ...
- ngRoute插件
angular中可以使用插件,例如ngRoute插件就是用与路由控制. 首先要在模块中引入即可: var m1 = angular.module('myApp',['ngRoute']); 然后我们进 ...
- SQL SERVER增加、删除、更改表中的字段名 (详询请加qq:2085920154)
1. 向表中添加新的字段 alter table table_name add column_name varchar2(20) not null 2. 删除表中的一个字段 delete t ...
- vertx简单服务创建
import java.util.HashMap;import java.util.Map; import org.slf4j.Logger;import org.slf4j.LoggerFactor ...
- 结合阿里云服务器,设置家中jetson tk1随时远程登陆
前提条件: 1.路由配置dmz主机为tk1的ip ,设置路由器中ssh 端口22的访问权限 2.有一台远程服务器,服务器安装了php可以运行php文件(我使用的是阿里云) 家中tk1配置: 脚本pyt ...
- Ubuntu 14.04 更新源
deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiversedeb http://mirrors.163. ...
- java反射案例
Java反射经典实例 2007-08-29 17:55:25 分类: Java Java提供了一套机制来动态执行方法和构造方法,以及数组操作等,这套机制就叫——反射.反射机制是如今很多流行框架的实现 ...