PXB简介
PXB介质下载
PXB安装的三种方式
Wgethttps://www.percona.com/downloads/XtraBackup/Percona-
XtraBackup-2.4.7/binary/tarball/percona-xtrabackup-2.4.7-
Linux-x86_64.tar.gz
解压并创建软连接:
# tar zxvf percona-xtrabackup-2.4.7-Linux-x86_64.tar.gz
# mv percona-xtrabackup-2.4.7-Linux-x86_64
/usr/local/xtrabackup
# ln -s /usr/local/xtrabackup/bin/* /usr/bin/
查看版本:
# xtrabackup --version
xtrabackup version 2.4.7 based on MySQL server 5.7.13 Linux
(x86_64) (revision id: 6f7a799)
安装依赖包
yum install cmake gcc gcc-c++ libaio libaio-devel automake autoconf bison libtool ncurses-devel libgcrypt-devel libev-devel libcurl-devel vim-common
libev-devel 包yum安装不上时,可手动RPM包安装
rpm -ivh glibc-2.12-1.166.el6.x86_64.rpm
rpm -ivh libev-4.03-3.el6.x86_64.rpm libev-devel-4.03-3.el6.x86_64.rpm
解压源码包:
tar -zxvf percona-xtrabackup-2.3.3.tar.gz
cd percona-xtrabackup-2.3.3
编译安装:
cmake -DBUILD_CONFIG=xtrabackup_release -DWITH_MAN_PAGES=OFF
&& make -j4
make install
添加到基本命令:
cp /usr/local/xtrabackup/bin/innobackupex /usr/bin
cp /usr/local/xtrabackup/bin/xtrabackup /usr/bin
安装Percona的库:
yum install http://www.percona.com/downloads/percona-
release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
测试Percona库:
yum list|grep percona
安装包:
yum install percona-xtrabackup
实验环境
备份与恢复
数据库全量备份
xtrabackup --defaults-file=/etc/my.cnf --host=localhost --
user=bkpuser --password=Ora#01555 -
s/var/lib/mysql/mysql.sock --backup --target-dir=/app/pxb
新建库,并更新数据
mysql -uroot -pOra#01555 -e create database db1;
mysql -uroot -pOra#01555 -e create table db1.t1(id int,name varchar(20));
mysql -uroot -pOra#01555 -e insert into db1.t1 values(1,"a"),(2,"b"),(3,"c");
mysql -uroot -pOra#01555 -e select * from db1.t1;
binlog备份正常
sh binlog.sh
模拟删除所有数据文件,删库跑路
cd /var/lib/mysql && rm -rf *
使用xtrabackup全量恢复
停止掉运行的数据库实例:
service mysqld stop
xtrabackup --host=localhost --user=bkpuser --
password=Ora#01555 -S/var/lib/mysql/mysql.sock --prepare --
target-dir=/app/pxb
xtrabackup --host=localhost --user=bkpuser --
password=Ora#01555 -S/var/lib/mysql/mysql.sock --
datadir=/var/lib/mysql --copy-back --target-dir=/app/pxb
chown -R mysql.mysql /var/lib/mysql
chmod -R 755 /var/lib/mysql
service mysqld start
使用mysqlbinlog增量恢复
cat xtrabackup_info
binlog_pos = filename on.000009, position 4226787
mysqlbinlog on.000009 on.000010 --start-position=4226787 | mysql -uroot -pOra#01555
mysql -uroot -pOra#01555 -e select * from db1.t1;
核查数据是否恢复正常
xtrabackup --user=root --password=Ora#01555 --backup --
target-dir=/app/pxb/full
模拟数据增加1
xtrabackup --user=root --password=Ora#01555 --backup --
target-dir=/app/pxb/incr1 --incremental-
basedir=/app/pxb/full
模拟数据2
增量备份2
xtrabackup --user=root --password=Ora#01555 --backup --
target-dir=/app/pxb/incr2 --incremental-
basedir=/app/pxb/incr1
模拟数据3
删库跑路
进行数据恢复操作
xtrabackup --user=root --password=Ora#01555 --prepare --
apply-log-only --target-dir=/app/pxb/full
xtrabackup --user=root --password=Ora#01555 --prepare --
apply-log-only --target-dir=/app/pxb/full --incremental-
dir=/app/pxb/incr1
xtrabackup --user=root --password=Ora#01555 --prepare --
apply-log-only --target-dir=/app/pxb/full --incremental-
dir=/app/pxb/incr2
# xtrabackup --user=root --password=Ora#01555 --prepare
--target-dir=/app/pxb/full
xtrabackup --user=root --password=Ora#01555 --
datadir=/var/lib/mysql --copy-back --target-
dir=/app/pxb/full
mysqlbinlog on.000006 on.000007 --start-position=154 | mysql
-uroot -pOra#01555
总结
更多精彩干货分享
点击下方名片关注
IT那活儿
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/129723.html
摘要:为此,一款高性能的分布式数据库,日渐成为刚需。基于如上的原因,我们选择了,作为丰巢的核心系统的分布式数据库,来取代和。 作者:丰巢技术团队 随着丰巢业务系统快速增长,其核心系统的数据量,早就跨越了亿级别,而且每年增量仍然在飞速发展。整个核心系统随着数据量的压力增长,不但系统架构复杂度急剧增长,数据架构更加复杂,传统的单节点数据库,已经日渐不能满足丰巢的需求,当单表数量上亿的时候,Ora...
摘要:对于数据结构哈希表我们在上一篇也已经详细说了。键空间示意图的数据库就是使用字典哈希表来作为底层实现的,对数据库的增删改查都是构建在字典哈希表的操作之上的。 前言 只有光头才能变强 今天继续来学习Redis,上一篇从零单排学Redis【青铜】已经将Redis常用的数据结构过了一遍了。如果还没看的同学可以先去看一遍再回来~ 这篇主要讲的内容有: Redis服务器的数据库 Redis对过期...
阅读 1250·2023-01-11 13:20
阅读 1559·2023-01-11 13:20
阅读 1013·2023-01-11 13:20
阅读 1680·2023-01-11 13:20
阅读 3972·2023-01-11 13:20
阅读 2520·2023-01-11 13:20
阅读 1356·2023-01-11 13:20
阅读 3486·2023-01-11 13:20