Xtrabackup 热备
Xtrabackup介绍
Xtrabackup是由percona开源的免费数据库热备份软件,它能对InnoDB数据库和XtraDB存储引擎的数据库非阻塞地备份(对于MyISAM的备份同样需要加表锁);
mysqldump备份方式是采用的逻辑备份,其最大的缺陷是备份和恢复速度较慢,如果数据库大于50G,mysqldump备份就不太适合。 安装:
用默认的yum安装的版本较低,不支持mysql5.7,需要如下操作方能安装较新的版本
yum install https://www.percona.com/downloads/percona-release/redhat/latest/percona-release-0.1-4.noarch.rpm yum install percona-xtrabackup-24
这种方式简单粗暴。其他方法经常会出现缺少依赖的情况,处理起来很耗时间,如下面方法:
下载官网https://www.percona.com/downloads/XtraBackup/
下载XtraBackup rpm包
wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.9/binary/redhat/6/x86_64/percona-xtrabackup-24-2.4.9-1.el6.x86_64.rpm
安装依赖包:
yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL perl-Digest-MD5
rpm -ivh ftp://rpmfind.net/linux/dag/redhat/el6/en/x86_64/dag/RPMS/libev-4.15-1.el6.rf.x86_64.rpm
rpm -ivh http://mirror.centos.org/centos/6/os/x86_64/Packages/numactl-2.0.9-2.el6.x86_64.rpm
安装XtraBackup
rpm -ivh percona-xtrabackup-24-2.4.9-1.el6.x86_64.rpm
备份:
将备份的数据存在本地
innobackupex --defaults-file=/etc/my.cnf --user=root --password=64704b /www/219bake
将备份的数据压缩后存在本地
innobackupex -p057ab --stream=tar /tmp | gzip > /usr/local/src/xtraback/backup/241bake.tar.gz
将备份的数据压缩后以流的方式传输到存储服务器
innobackupex -p64704bf --stream=tar /tmp | ssh root@192.168.6.250 \ "gzip > /www/bake/250/20180426.tar.gz"
还原:
将事物日志应用到备份的数据中
innobackupex --apply-log --redo-only --use-memory=1G ./
将mysql停止,并删除mysql的所有数据
service mysqld stop
rm -rf /home/www/server/data/*
将备份数据拷贝回/home/www/server/data
innobackupex --datadir=/home/www/server/data --copy-back ./
设置mysql访问权限
chown -R mysql.mysql /home/www/server/data/*
重启mysql
service mysqld restart
登录mysql,设置从主服务器同步数据
set global server_id=111;
从xtrabackup_binlog_pos_innodb获取log file name和位置
cat xtrabackup_binlog_pos_innodb
设置从主库同步
change master to master_host='192.168.7.*',master_user='liaogs',master_password='adfadfasdf',master_log_file='mysql-bin.000893',master_log_pos=1008633;
start slave;
show slave status \G;
重置slave
reset slave;
另外
数据库恢复MySQL [ERROR] Table 'mysql.user' doesn't exist
删除了数据库文件后,需要重新初始化mysql:
/www/server/mysql/bin/mysql_install_db --user=mysql --basedir=/www/server/mysql --datadir=/www/server/mysql/data
在5.6.8之后的版本,用此种方式初始化后,root密码将会存放在 /root/.mysql_secret中,需要用alert重置密码
ALTER USER 'root'@'%' IDENTIFIED BY 'c3ea96bbd5bf0a94a87a57efd417807d';
Xtrabackup 热备的更多相关文章
- 使用xtrabackup(innobackupex)实现MySQL的热备
mysql 的热备http://www.178linux.com/10139http://www.linuxidc.com/Linux/2014-04/99671.htmhttp://634871.b ...
- MySQL 基于xtrabackup备份—热备工具
xtrabackup(仅对InnoDB存储引擎支持热备) percona公司开发 改进的MySQL分支:percona-server 存储引擎改进:InnoDB —> XtraDB 使用本地的R ...
- 利用XtraBackup给MYSQL热备(基于数据文件)
利用XtraBackup给MYSQL热备(基于数据文件) By JRoBot on 2013 年 11 月 26 日 | Leave a response 利用XtraBackup给MYSQL热备(基 ...
- MySQL的热备percona-xtrabackup、innobackupex的安装方法
http://blog.csdn.net/dbanote/article/details/13295727 http://blog.csdn.net/yangzhawen/article/detail ...
- MySQL热备脚本
MYSQL 备份方法: 热备: http://blog.itpub.net/27099995/viewspace-1295099/ http://blog.csdn.net/dban ...
- INNOBACKUPEX热备MYSQL数据
http://www.databaseclub.com/2014/11/innobackupex/ 1)对MySQL进行全备份1.备份数据 1 innobackupex --user=userna ...
- mysql+keepalived 双主热备高可用
理论介绍:我们通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务.当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短.MySQL双主复制,即互 ...
- (4.14)mysql备份还原——mysql物理热备工具之ibbackup
关键词:mysql热备工具,ibbackup,mysql物理备份工具 1. 准备 ibbackup 是 InnoDB 提供的收费工具,它支持在线热备 InnoDB 数据,主要有以下特性: * Onli ...
- CentOS系统MySQL双机热备配置
1 概述 在集成项目中需要应对不同环境下的安装配置,主流操作系统大致可以分为三种:Linux.Windows以及UNIX.其中Linux备受青睐的主要原因有两个: 首先,Linux作为自由软件有两个 ...
随机推荐
- echarts更新数据的方法
//初始创建 var myChart = echarts.init(document.getElementById('main')); var option = {........} myChart. ...
- (8)centos7 登录与关机
关机重启 shutdown -h now #立刻关机 shutdown -h 1 #一分钟后关机 shutdown -h 17:00 #指定时间关机(如果当前时间超过17:00,则会转到明天的17:0 ...
- Python 工匠
https://github.com/piglei/one-python-craftsman/blob/master/zh_CN/7-two-tips-on-loop-writing.md
- 前端(二十一)—— vue指令:文本类指令、避免页面闪烁、v-bind指令、v-on指令、v-model指令、条件渲染指令、列表渲染指令
文本类指令.v-bind指令.v-on指令.v-model指令.条件渲染指令.列表渲染指令 一.文本操作 v-text:文本变量 <p v-text='msg'></p> &l ...
- strcmp 和 strcoll的区别
功能和strcmp类似,用法也一样. 特别注意:strcoll()会依环境变量LC_COLLATE所指定的文字排列次序来比较s1和s2 字符串. strcmp是根据ASCII来比较2个串的. ...
- POJ 3469 /// 最大流Dinic
题目大意: N个模块 在核A上执行花费a[i] 在核B上执行花费b[i] 有M个模块组合(d1,d2) 若d1模块与d2模块在不同核上执行需多花费w[i] 求执行所有模块所需的最小花费 挑战P237 ...
- mysql的索引方法btree和hash的区别
原文链接: http://www.91w.net/database/330.html 1. Hash索引: Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引 ...
- C语言结构体数组
#include <stdio.h> int main() { /*************************************************** *结构体数组:数组 ...
- node-express(1)建立post、get、跨域问题解决方案
首先下载express:npm i express let ess=require('express'); let app=ess(); let bodyParser=require('body-pa ...
- thinkphp 错误调试
如果需要我们可以使用E方法输出错误信息并中断执行,例如: //输出错误信息,并中止执行 E($msg); 原3.1版本中的halt方法已经废弃,请使用E函数代替.