percona-xtrabackup-8.0.7简单快捷使用

# 参考资料:

https://blog.csdn.net/vkingnew/article/details/83012316

# 环境:centos6.x

yum -y install perl-DBI
yum -y install perl-DBD-MySQL
yum -y install perl-IO-Socket-SSL.noarch
yum -y install perl-Time-HiRes
yum -y install perl-TermReadKey
yum -y install perl-ExtUtils-MakeMaker yum -y install perl-Digest-MD5 cmake gcc gcc-c++ libaio libaio-devel automake autoconf bzr
[root@dbhost ~]# rpm -qa|grep libgcrypt
libgcrypt-1.4.-.el6_8.x86_64

# 下载对应的版本

cd /opt/
wget https://www.percona.com/downloads/Percona-XtraBackup-LATEST/Percona-XtraBackup-8.0-7/binary/tarball/percona-xtrabackup-8.0.7-Linux-x86_64.libgcrypt145.tar.gz
tar -zxf percona-xtrabackup-8.0.-Linux-x86_64.libgcrypt145.tar.gz
cd /usr/local/
ln -s /opt/percona-xtrabackup-8.0.-Linux-x86_64 xtrabackup
ln -fs /opt/percona-xtrabackup-8.0.-Linux-x86_64/bin/* /usr/bin/
xtrabackup -v

# 在主库中创建专用备份账号

create user 'bk_user'@'%' identified WITH mysql_native_password by 'v9SimLKsIHpwzyOgVwlM' PASSWORD EXPIRE NEVER ;
GRANT BACKUP_ADMIN,SELECT, RELOAD, PROCESS, SUPER, LOCK TABLES, REPLICATION SLAVE, REPLICATION CLIENT, SHOW VIEW ON *.* TO 'bk_user'@'%';

# 全量备份(在本地从库上备份)

xtrabackup --defaults-file=/data/mysql/mysql_3306/my_3306.cnf --host=10.192.30.60 --user='bk_user' --password='v9SimLKsIHpwzyOgVwlM' --port=3306  --backup --compress --compress-threads=8 --use-memory=4G --slave-info --parallel=8 --target-dir=/data/backup/

# 全量恢复

# 需要先清空数据目录下的文件及其目录

-- rm -rf tmp/* undolog/* data/* logs/mysql-bin*

# 先解压,需要单独安装

/*
wget http://www.quicklz.com/qpress-11-linux-x64.tar
tar xvf qpress-11-linux-x64.tar
cp qpress /usr/bin

# 如果无法下载,登录其官网,单独下载,再上传
*/
xtrabackup --defaults-file=/data/mysql/mysql_3306/my_3306.cnf --use-memory=4G --decompress --parallel=8 --remove-original --target-dir=/data/backup/ # 解压缩备份
xtrabackup --defaults-file=/data/mysql/mysql_3306/my_3306.cnf --prepare --use-memory=4G --parallel=8 --target-dir=/data/backup/ # 恢复数据
xtrabackup --defaults-file=/data/mysql/mysql_3306/my_3306.cnf --copy-back --use-memory=4G --parallel=8 --target-dir=/data/backup/ # 拷贝会目录所在,这里推荐使用--copy-back方式,因为我的my.cnf中的配置路径是分散的
chown -R mysql.mysql *

# 附录:简单的全备shell脚本

#!/bin/bash
# file_name: /usr/local/scripts/full_xtrabackup.sh
#
#################################################################################################################################################################
#
#
# create user 'bk_user'@'10.192.30.%' identified WITH mysql_native_password by 'v9SimLKsIHpwzyOgVwlM' PASSWORD EXPIRE NEVER ;
# GRANT BACKUP_ADMIN,SELECT, RELOAD, PROCESS, SUPER, LOCK TABLES, REPLICATION SLAVE, REPLICATION CLIENT, SHOW VIEW ON *.* TO 'bk_user'@'10.192.30.%';
# mkdir -p /data/backup/logs/ ; mkdir -p /data/backup/full_bak/
# * /bin/bash /usr/local/scripts/full_xtrabackup.sh &>/dev/null . /etc/init.d/functions
Date_Time=`date +%Y%m%d%H%M%S`
Date_Day=`date +%Y%m%d%H%M`
Target_Dir="/data/backup/full_bak/"
User_Name="bk_user"
Pass_Word="v9SimLKsIHpwzyOgVwlM"
Host_Ip="10.192.30.60"
Port_MySQL=""
Xtrabackup_Cmd="/usr/bin/xtrabackup"
Compress_Threads=""
Parallel_Num=''
Use_Memory="4G"
My_Conf="/data/mysql/mysql_3306/my_3306.cnf"
Log_File_Dir="/data/backup/logs/"
Log_File="/data/backup/logs/full_bak_"${Date_Day}""
Count_Day=""
Scp_Target_Host="root@10.192.30.53:/data/backup/full_backup/" # 全备份
function Full_Backup(){
"${Xtrabackup_Cmd}" --defaults-file="${My_Conf}" --host="${Host_Ip}" --user="${User_Name}" --password="${Pass_Word}" --port="${Port_MySQL}" --backup --compress --compress-threads="${Parallel_Num}" --use-memory="${Use_Memory}" --slave-info --parallel="${Parallel_Num}" --target-dir="${Target_Dir}"full_bak_"${Date_Day}"/ &>>"${Log_File}".log
Results=`tail - "${Log_File}".log | awk '{print $3}'`
if [ "${Results}"x == "completed"x ]; then
echo "############################################################################" &>>"${Log_File}".log
action "full_backup files are successful" /bin/true &>>"${Log_File}".log
else
echo "############################################################################" &>>"${Log_File}".log
action "full_backup files are error" /bin/false &>>"${Log_File}".log
fi
} # 给远端传输一份,需要实现配置rsync或者ssh互信
function Scp_BackupFiles(){
Results=`tail - "${Log_File}".log |head -| awk '{print $3}'`
if [ "${Results}"x == "completed"x ]; then
scp -rp -l "${Target_Dir}"full_bak_"${Date_Day}" "${Scp_Target_Host}"
if [ "$?" -eq ]; then
action " "${Target_Dir}"full_bak_"${Date_Day}" are successfully transformed. " /bin/true &>>"${Log_File}".log
fi
else
echo "############################################################################" &>>"${Log_File}".log
action " "${Target_Dir}"full_bak_"${Date_Day}" are failed transformed. " /bin/false &>>"${Log_File}".log
fi
} # 删除旧文件,保留最近n天的文件
function Delete_Files(){
find "${Target_Dir}" -type d -mtime +"${Count_Day}" -name "full_bak*" -exec rm -rf {} \;
find "${Log_File_Dir}" -type f -mtime +"${Count_Day}" -name "full_bak_*.log" -exec rm -rf {} \;
} Full_Backup
sleep
Scp_BackupFiles
Delete_Files #################################################################################################################################################################

percona-xtrabackup-8.0.7简单快捷使用的更多相关文章

  1. Percona XtraBackup 8.0, 安装与测试

    Percona XtraBackup 8.0 是Percona XtraBackup新推出了一个针对MySQL8.0的版本,主要是MySQL8.0在Redo 和 数据库字典方面有了新的改进. Xtra ...

  2. Percona XtraBackup 8.0.26使用说明

    欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答 Percona XtraBackup特性说明 Percona Xtrabacku ...

  3. Percona XtraBackup 核心文档

    1. 介绍 1.1 MySQL 备份工具特性对比 Features Percona XtraBackup MySQL Enterprise backup License GPL Proprietary ...

  4. Percona Xtrabackup 备份工具

    生成备份 $ xtrabackup --backup --target-dir=/data/backups/ 注:--target-dir可以放在my.cnf配置文件中.如果指定的目录不存在,xtra ...

  5. 问题定位 | Peronca Xtrabackup 8.0近日踩坑总结 - xtrabackup 2.4和8.0区别

    目录 前言 适配过程中遇到的坑 xtrabackup 2.4和8.0区别 问题定位 坑一:MySQL 8.0 + Semi-Sync 重建问题 坑二:MySQL 8.0 + Group-Replica ...

  6. Percona XtraBackup User Manual 阅读笔记

    XtraBackup XtraBackup 2 安装XtraBackup 2.1 安装XtraBackup binary版本 2.1.1 yum的安装方法: 2.1.2 直接下载rpm包安装 3 Xt ...

  7. MariaDB之基于Percona Xtrabackup备份大数据库[完整备份与增量备份]

    MariaDB之基于Percona Xtrabackup备份大数据库[完整备份与增量备份] 1.Xtrabackup的安装 percona-xtrabackup-2.2.3-4982.el6.x86_ ...

  8. Percona XtraBackup 备份原理

    前言 Percona XtraBackup(简称PXB)是 Percona 公司开发的一个用于 MySQL 数据库物理热备的备份工具,支持 MySQl(Oracle).Percona Server 和 ...

  9. 通过Percona Xtrabackup实现数据的备份与恢复

    Xtrabackup简介 Percona XtraBackup是一个开源.免费的MySQL热备份软件,能够为InnoDB和XtraDB数据库执行非阻塞备份,特点如下: 1.快速.可靠的完成备份 2.备 ...

随机推荐

  1. Blender2.8基础操作

    1.Blender2.8版本快捷键方式和2.79b大致相同.2.Blender2.8操作视图的方式可以按住主键盘数字键1旁边的~符号键,然后鼠标选择需要的视图. 3.视图与基本操作: 选择方式时鼠标左 ...

  2. 简述前后端项目RSA+AES加解密

    一.登录机制 在项目中,我们可以大致得出一个登录的过程,主要分为  登录验证.登录保持.退出三个部分.登录验证是指客户端提供用户名和密码,向服务器提出登录请求,服务器判断客户端是否可以登录并向客户端确 ...

  3. python 并发编程 非阻塞IO模型

    非阻塞IO(non-blocking IO) Linux下,可以通过设置socket使其变为non-blocking.当对一个non-blocking socket执行读操作时,流程是这个样子: 从图 ...

  4. 零基础学习前端1-1配置node及npm环境变量

    零基础学习前端1-1配置node及npm环境变量 ## 1-1配置node及npm环境变量 首先:下载node 可以直接去官方网站下载 1.首先从官网下载安装包 https://nodejs.org/ ...

  5. 搭建属于自己的图床(基于阿里云OSS,成本9元+20分钟)

    之前的笔记都存在有道云笔记上,慢慢转化为Markdown格式分享出来,这中间遇到了一个图片问题,找了好久,了解到图床,然后找了谷歌插件中微博图床插件,用了一段时间发现,每次都需要登录微博,然后我又是一 ...

  6. bi的tableau

    参考: 官网: https://help.tableau.com/current/server-linux/zh-cn/get_started_server.htm 可视化分析最佳做法: 实用指南 h ...

  7. 启用hdfs的高可用

    cm-HDFS: 选择另外一个节点的做NN, 生产选node3 选择三个节点作journalNode, node2,3,4 填入journalNode的目录/dfs/jn 经过一系列步骤,如果没报错 ...

  8. spring boot-17.RabbitMQ

    1.JMS&AMQP JMS(Java MessageService)实际上是指JMS API.JMS是由Sun公司早期提出的消息标准,旨在为java应用提供统一的消息操作,包括create. ...

  9. [转帖].NET Core单文件发布静态编译AOT CoreRT

    .NET Core单文件发布静态编译AOT CoreRT https://www.cnblogs.com/linezero/p/CoreRT.htm .NET Core单文件发布静态编译AOT Cor ...

  10. Python流程控制与while 循环(day01)

    一:流程控制 假如把写程序比做走路,那我们到现在为止,一直走的都是直路,还没遇到过分叉口,想象现实中,你遇到了分叉口,然后你决定往哪拐必然是有所动机的.你要判断哪条叉路是你真正要走的路,如果我们想让 ...