mysql物理备份innobackupex
一、全量备份
1.安装xtrabackup
# wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.4/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.4-1.el7.x86_64.rpm
# yum install perl-Digest-MD5 libev -y
# yum localinstall percona-xtrabackup-24-2.4.4-1.el7.x86_64.rpm
2. 创建备份用户:
mysql> CREATE USER 'backup'@'172.27.%' IDENTIFIED BY 'backup123';
mysql> GRANT SELECT, RELOAD, LOCK TABLES, REPLICATION CLIENT, PROCESS, SUPER ON *.* TO 'backup'@'172.27.%';
mysql> FLUSH PRIVILEGES;
3. 创建备份目录
# mkdir /data/innobackup
4. 备份
# innobackupex --user=backup --password=backup_123 --port= --socket=/tmp/mysql.sock --defaults-file=/etc/my.cnf --parallel= --no-timestamp /data/innobackup
注意:输出的日志‘completed OK!’,说明备份成功
-u, --user: 用户名
-p, --password: 密码
-H, --host: 主机
-P, --port: 端口
-S, --socket: socket
--defaults-file: 指定数据库配置文件
--parallel: 多线程拷贝.ibd文件
--no-timestamp: 不使用时间戳生成备份目录
二、恢复
1. apply log
# innobackupex --apply-log /data/innobackup/ --use-memory=16G
注意:留意输出的日志‘completed OK!’,说明apply redo 日志成功.
2. 恢复步骤
# 先停止mysql
/etc/init.d/mysqld stop
# 清空mysql的data目录,否则会报错:Original data directory /data is not empty!
mv /usr/local/mysql/data /usr/local/mysql/data_bak
mkdir /usr/local/mysql/data
innobackupex --apply-log /data/innobackup/ --use-memory=16G
拷贝主配置文件my.cnf,并修改server-id等。
# 执行恢复操作
innobackupex --defaults-file=/etc/my.cnf --copy-back /data/innobackup
# 授权
chown -R mysql:mysql /usr/local/mysql/data
# 物理备份会将主从配置信息一起同步过来。在mysql配置里面添加一行
vim /etc/my.cnf
[mysqld]
skip-slave-start #添加这一行,slave复制进程不随mysql启动
# 启动数据库
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf & (/etc/init.d/mysqld start)
流式备份:
如果需要将 机器上面的备份数据发送到远程机器,或者快速搭建主从,可以采用流式备份。
例如:这里将172.26.1.3的数据发送到 172.26.1.245 并做成主从同步。 master: 172.26.1.3 slave:172.26.1.245
# 172.26.1.3 备份之前需要先关闭多线程复制,否则会报错
> show variables like '%worker%';
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| slave_parallel_workers | 0 |
+------------------------+-------+
> set global slave_parallel_workers=0;
备份命令:
innobackupex --defaults-file=/etc/my.cnf --user=backup --password="backup123" --port=3306 --socket=/tmp/mysql.sock --slave-info --parallel=16 --stream=xbstream ./ 2>/data/xtrabackup_log.txt | pv -q -L40m | ssh lily@172.26.1.245 " cat - | xbstream -x -C /data/innobackup"
注:这里的 172.26.1.245 是远程机器的ip
--slave-info: 备份目录下会多生成一个xtrabackup_slave_info文件,文件内容类似于:CHANGE MASTER TO MASTER_LOG_FILE='', MASTER_LOG_POS=0。
这个参数适用的场景:假设有主库A和从库B,目前想再添加一台备库C,并让备库C以主库A为master;因为主库A是生产库,压力一般比较大,所以就在备库B上备份一个数据库,然后把这个备份拿到C服务器上,并导入到C库,接下来再在C服务器上执行change master的命令:其中master_host是A的ip,而master_log_file和master_log_pos就是这个xtrabackup_slave_info里面的值。
恢复(在远程机器172.26.1.245执行)
1,拷贝master机器的/etc/my.cnf 文件,并修改server_id。
2,执行(二、恢复)这个步骤之后
3,将172.26.1.245做成172.26.1.3的从库, 从 /data/innobackup/xtrabackup_binlog_info 文件里面读取binlog和position信息。
# cat /data/innobackup/xtrabackup_binlog_info
mysql-bin.000066 94839444
mysql> CHANGE MASTER TO MASTER_HOST='172.26.1.3',MASTER_USER='repl',MASTER_PASSWORD='xxxxxx',MASTER_AUTO_POSITION=0,MASTER_LOG_FILE='mysql-bin.000066',MASTER_LOG_POS=94839444;
mysql> start slave;mysql物理备份innobackupex的更多相关文章
- MySQL · 物理备份 · Percona XtraBackup 备份原理
http://mysql.taobao.org/monthly/2016/03/07/ 前言 Percona XtraBackup(简称PXB)是 Percona 公司开发的一个用于 MySQL 数据 ...
- mysql物理备份基本操作
Ⅰ.xtrabackup介绍 xtrabackup只能备份innodb引擎的数据,不能备份表结构,percona开源的,强烈推荐最新版本(旧版本bug多) innobackupex可以备份myisam ...
- MySQL 物理备份工具-xtrabackup
安装 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo yum -y install perl ...
- MySQL物理备份 lvm-snapshot
MySQL备份之 lvm-snapshot lvm-snapshot(工具备份) 优点: 几乎是热备(穿件快照前把表上锁,创建完成后立即释放) 支持所有引擎 备份速度快 无需使用昂贵的商业软件(它是操 ...
- MySQL物理备份 xtrabackup
MySQL 备份之 xtrabackup | innobackupex Xtrabackup 介绍 Xtrabackup 是一个对 InnoDB 做数据备份的工具,支持在线热备份(备份时不影响数据读写 ...
- mysql物理备份
原本以为直接将data文件夹下每个数据库对应的文件夹拷贝到新的MySQL的data文件夹就可以了,其实不然. 这样做有几个问题: 1.如果是用了引擎的表,还需要复制ibdata文件,并且frm文件所在 ...
- mysql物理备份恢复 xtrabackup 初试
听闻xtrabackup开源且强大 2018-03-06 11:54:41 在官网下载安装了最新的2.4.9版本 网上文章都用的innobackupex,但是最新版已经抛弃了,自己看看手册<Pe ...
- (4.15)mysql备份还原——物理备份之XtraBackup的下载与安装
关键词:mysql物理备份,XtraBackup,XtraBackup安装,XtraBackup下载 实践链接:https://www.cnblogs.com/gered/p/11147193.htm ...
- 使用 xtrabackup 进行MySQL数据库物理备份
0. xtrabackup的功能 能实现的功能: 非阻塞备份innodb等事务引擎数据库. 备份myisam表会阻塞(需要锁). 支持全备.增量备份.压缩备份. 快速增量备份(xtradb,原理类似于 ...
随机推荐
- 315 · Istio1.1 功能预告,真的假不了
Istio 1.0版本发布到现在,已经过去8个月.Istio1.1的候选版本也到了rc5,预计近期会正式发布1.1.此版本包含了许多错误修复,在流量管理,安全,策略和遥测,多集群等领域添加了新的功能. ...
- ZZNUOJ-2157: 水滴来袭-【干扰阅读-卡模糊精度1e-8的问题】
ZZNUOJ-2157: 水滴来袭 那是一个冷雨霏霏的秋天的下午,当罗辑拿着枪威胁三体文明的时候,如果过了三十秒三体人还没有同他展开谈判,罗辑就会扣动扳机即刻结束自己的生命,随后他身上的核弹控制器就会 ...
- ACM-ICPC 2018 青岛赛区现场赛 D. Magic Multiplication && ZOJ 4061 (思维+构造)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4061 题意:定义一个长度为 n 的序列 a1,a2,..,an ...
- 24、自动装配-@Profile环境搭建
24.自动装配-@Profile环境搭建 Spring为我们提供的可以根据当前环境,动态的激活和切换一系列组件的功能. 开发环境.测试环境.正式环境 数据源切换 24.1 添加 数据源和jdbc驱动 ...
- PHP mysqli_error_list() 函数
返回最近调用函数的最后一个错误代码: <?php // 假定数据库用户名:root,密码:123456,数据库:RUNOOB $con=mysqli_connect("localhos ...
- java线程安全与不安全的理解
存在成员变量(全局变量)的类用于多线程时是不安全的,不安全体现在这个成员变量可能发生非原子性的操作,而变量定义在方法内也就是局部变量是线程安全的. 想想在使用struts1时,不推荐创建成员变量,因为 ...
- F. Make Them Similar ( 暴力折半枚举 + 小技巧 )
传送门 题意: 给你 n 个数 a[ 1 ] ~ a[ n ], n <= 100: 让你找一个 x , 使得 a[ 1 ] = a[ 1 ] ^ x ~ a[ n ] = a[ n ] ^ ...
- 【CTS2019】珍珠【生成函数,二项式反演】
题目链接:洛谷 pb大佬说这是sb题感觉好像有点过fan...(我还是太弱了) 首先,设$i$这个数在序列中出现$a_i$次,要求$\sum_{i=1}^D[a_i \ mod \ 2]\leq n- ...
- 关于在vue项目中使用wangEditor
1,vue中安装wangEditor 使用的npm安装 npm install wangeditor --save 2,创建公用组件 在components中创建wangEnduit文件夹 组件内容为 ...
- H5的pushState与replaceState的用法
一.简介 HTML5引入了 history.pushState()和 history.replaceState()方法,它们分别可以添加和修改历史记录条目.这些方法通常与window.onpopsta ...