快捷搜索:  汽车  科技

mysql制作教程:分享一个实用脚本

mysql制作教程:分享一个实用脚本function install_xtrabackup2.4_el7() { echo "" echo -e "\033[33m**********************************************自动部署Percona xtrabackup 2.4*********************************************\033[0m" #下载包 if [ -f /opt/percona-xtrabackup-24-2.4.20-1.el7.x86_64.rpm ] && [ -f /opt/libev-4.15-3.el7.x86_64.rpm ] ;then echo "*****存在Percona xtrabackup 2.4安装包,无需下载*****" e

概述

Percona XtraBackup是世界上唯一一款开源的免费MySQL热备份软件,可以为InnoDB和XtraDB数据库执行非阻塞备份。Percona XtraBackup可以与MySQL和Percona Server for MySQL协同工作。它支持InnoDB、XtraDB和MyRocks存储引擎的完全无阻塞备份。此外,它还可以通过在备份结束时短暂暂停写入操作来备份以下存储引擎:MyISAM、Merge和Archive,包括分区表、触发器和数据库选项。

注意:

随着Percona XtraBackup 8.0的推出,Percona XtraBackup 2.4将继续支持MySQL和Percona Server 5.6和5.7数据库。由于新的MySQL重做日志和数据字典格式,Percona XtraBackup 8.0.x版本将只与MySQL8.0.x和即将推出的用于MySQL8.0.x的Percona服务器兼容。


MySQL备份工具特性比较

mysql制作教程:分享一个实用脚本(1)

mysql制作教程:分享一个实用脚本(2)

mysql制作教程:分享一个实用脚本(3)

mysql制作教程:分享一个实用脚本(4)

说明:

  • 复制非InnoDB数据时,InnoDB表仍然被锁定。
  • Percona Server for MySQL支持快速增量备份,支持XtraDB更改页面跟踪。
  • Percona XtraBackup支持对任何备份进行加密。MySQL企业备份只支持对单个文件备份进行加密。
  • Percona XtraBackup根据每秒IO操作数执行限制。MySQL企业备份支持操作之间的可配置睡眠时间。
  • Percona XtraBackup跳过辅助索引页,并在准备压缩备份时重新创建它们。MySQL Enterprise Backup跳过未使用的页并重新插入到准备阶段。
  • Percona XtraBackup甚至可以从完整备份中导出单个表,无论InnoDB版本如何。MySQL Enterprise Backup仅在执行部分备份时使用InnoDB 5.6可移植表空间。
  • 备份锁是用Percona Server for MySQL中的读锁刷新表的轻量级替代方法。Percona XtraBackup使用它们自动复制非InnoDB数据,以避免阻塞修改InnoDB表的DML查询。

一键部署xtrabackup脚本

function install_xtrabackup2.4_el7() { echo "" echo -e "\033[33m**********************************************自动部署Percona xtrabackup 2.4*********************************************\033[0m" #下载包 if [ -f /opt/percona-xtrabackup-24-2.4.20-1.el7.x86_64.rpm ] && [ -f /opt/libev-4.15-3.el7.x86_64.rpm ] ;then echo "*****存在Percona xtrabackup 2.4安装包,无需下载*****" else ping -c 4 www.percona.com >/dev/null 2>&1 if [ $? -eq 0 ];then wget http://rpmfind.net/linux/epel/7/x86_64/Packages/l/libev-4.15-3.el7.x86_64.rpm -P /opt #wget http://mirror.centos.org/centos/7/os/x86_64/Packages/perl-Digest-MD5-2.52-3.el7.x86_64.rpm -P /opt wget https://www.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.20/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.20-1.el7.x86_64.rpm -P /opt else echo "please download Percona xtrabackup 2.4 package manual !" exit $? fi fi #配yum安装perl-DBD-MySQL和perl-Digest-MD5 rpm -qa|grep perl-DBD-MySQL if [ $? -eq 1 ];then install_yum yum install -y perl-DBD-MySQL &>/dev/null yum install -y perl-Digest-MD5 &>/dev/null action "************安装perl-DBD-MySQL完成************" /bin/true else action "************已安装perl-DBD-MySQL包************" /bin/true fi #安装Percona xtrabackup 2.4 action "*************开始安装Percona xtrabackup 2.4**************" /bin/true rpm -ivh /opt/libev-4.15-3.el7.x86_64.rpm rpm -ivh /opt/percona-xtrabackup-24-2.4.20-1.el7.x86_64.rpm sleep 3 xtra=`xtrabackup --version` echo -e "\033[33m*******************************************完成Percona xtrabackup 2.4部署********************************************\033[0m" cat > /tmp/xtrabackup2.4.log << EOF xtrabackup目录: /usr/bin/xtrabackup xtrabackup版本: ${xtra} EOF cat /tmp/xtrabackup2.4.log echo -e "\e[1;31m 以上信息10秒后消失,保存在/tmp/xtrabackup2.4.log 文件下 \e[0m" echo -e "\033[33m************************************************************************************************************************\033[0m" echo "" sleep 10 } function install_xtrabackup8.0_el7() { echo "" echo -e "\033[33m**********************************************自动部署Percona xtrabackup 8.0*********************************************\033[0m" #下载包 if [ -f /opt/percona-xtrabackup-80-8.0.4-1.el7.x86_64.rpm ] && [ -f /opt/libev-4.15-3.el7.x86_64.rpm ] ;then echo "*****存在Percona xtrabackup 8.0安装包,无需下载*****" else ping -c 4 www.percona.com >/dev/null 2>&1 if [ $? -eq 0 ];then wget http://rpmfind.net/linux/epel/7/x86_64/Packages/l/libev-4.15-3.el7.x86_64.rpm -P /opt #wget http://mirror.centos.org/centos/7/os/x86_64/Packages/perl-Digest-MD5-2.52-3.el7.x86_64.rpm -P /opt wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-8.0.4/binary/redhat/7/x86_64/percona-xtrabackup-80-8.0.4-1.el7.x86_64.rpm -P /opt else echo "please download Percona xtrabackup 8.0 package manual !" exit $? fi fi #配yum安装perl-DBD-MySQL和perl-Digest-MD5 rpm -qa|grep perl-DBD-MySQL if [ $? -eq 1 ];then install_yum yum install -y perl-DBD-MySQL &>/dev/null yum install -y perl-Digest-MD5 &>/dev/null action "************安装perl-DBD-MySQL完成************" /bin/true else action "************已安装perl-DBD-MySQL包************" /bin/true fi #安装Percona xtrabackup 8.0 action "*************开始安装Percona xtrabackup 8.0**************" /bin/true rpm -ivh /opt/libev-4.15-3.el7.x86_64.rpm rpm -ivh /opt/percona-xtrabackup-80-8.0.4-1.el7.x86_64.rpm sleep 3 xtra=`xtrabackup --version` echo -e "\033[33m*******************************************完成Percona xtrabackup 8.0部署********************************************\033[0m" cat > /tmp/xtrabackup8.0.log << EOF xtrabackup目录: /usr/bin/xtrabackup xtrabackup版本: ${xtra} EOF cat /tmp/xtrabackup8.0.log echo -e "\e[1;31m 以上信息10秒后消失,保存在/tmp/xtrabackup8.0.log 文件下 \e[0m" echo -e "\033[33m************************************************************************************************************************\033[0m" echo "" sleep 10 }

脚本内容:

mysql制作教程:分享一个实用脚本(5)

脚本执行过程:

mysql制作教程:分享一个实用脚本(6)

mysql制作教程:分享一个实用脚本(7)


觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

mysql制作教程:分享一个实用脚本(8)

猜您喜欢: