percona 软件介绍

目录

percona 软件介绍

MySQL备份工具

常用的MySQL备份工具

XtraBackup工具

安装percona

安装软件包

查看安装信息

innobackupex命令

常用选项

命令格式


percona 软件介绍

MySQL备份工具

常用的MySQL备份工具

  • 物理备份缺点

—— 跨平台性差

—— 备份时间长、冗余备份、浪费存储空间

注:如Linux操作系统和Windows操作系统之间,由于文件系统不一样,如Linux操作系统的文件系统是ext4、xfs,Windows操作系统的文件系统是FAT16/32、NTFS,这样可能会导致数据读写的问题。

由于物理备份用的是cp命令,所以可能会导致拷贝的时间很长,而且可能会存在重复的内容占用空间,导致空间变大浪费存储空间。

  • mysqldump备份缺点

—— 效率较低、备份和还原速度慢、锁表

—— 备份过程中,数据插入和更新操作被阻塞

注:锁表是指当再给某张表进行备份的时候,这时这张表就处于锁死状态,我们不能对该表进行任何操作(如查询、插入等这些操作),必须要等这张表完全备份完成后,才能对该表进行操作。

  • binlog日志备份缺点

—— 在进行范围内备份的时候,我们需要在日志文件中寻找起始偏移量和结束偏移量,当日志文件非常庞大的时候,这样的操作就很变得很繁琐。

XtraBackup工具

  • 一款强大的在线热备份工具

—— 备份过程中不锁库表,适合生产环境

—— 由专业组织Percona提供(改进MySQL分支)

  • 主要包含两个组件

—— xtrabackup:C程序,支持InnoDB/XtraDB

—— innobackupex:以Perl脚本封装xtrabackup,还支持MyISAM

安装percona

安装软件包

  • yum安装自动解决依赖

—— percona-xtrabackup-24-2.4.8-1.el7.x86_64.rpm

[root@DB ~]# ls /root         //下载软件包并上传到Linux操作系统上

[root@DB ~]# rpm -ivh percona-xtrabackup-24-2.4.8-1.el7.x86_64.rpm

//如图所示,根据提示缺少libev-4.15-7.el7.x86_64、perl-DBD-MySQL 、perl-Digest-MD5这三个依赖包

[root@DB ~]# wget -O /etc/yum.repos.d/epel-7.repo http://mirrors.aliyun.com/repo/epel-7.repo      //使用epel源解决依赖关系

[root@DB ~]# yum -y install libev-4.15-7.el7.x86_64

[root@DB ~]# yum -y install perl-DBD-MySQL perl-Digest-MD5   //注:安装这两个依赖包的时候可能会出现以下错误

//如图所示:缺少软件包libmysqlclient.so.18,需要安装mysql-community-libs-compat-5.7.17-1.el7.x86_64.rpm来解决这个问题

到官 上下载软件包:https://downloads.mysql.com/archives/community/

[root@DB ~]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-community-libs-compat-5.7.17-1.el7.x86_64.rpm

[root@DB ~]# rpm -ivh mysql-community-libs-compat-5.7.17-1.el7.x86_64.rpm

[root@DB ~]# yum -y install perl-DBD-MySQL perl-Digest-MD5      //解决完依赖关系再来安装

[root@DB ~]# rpm -ivh percona-xtrabackup-24-2.4.8-1.el7.x86_64.rpm      //解决完依赖包再来安装软件

[root@DB ~]# rpm -qa | grep percona

percona-xtrabackup-24-2.4.8-1.el7.x86_64

查看安装信息

  • 查看安装列表

[root@DB ~]# rpm -ql percona-xtrabackup-24-2.4.8-1.el7.x86_64       //查看软件包percona-xtrabackup的安装列表

//如图所示,/usr/bin/innobackupex和/usr/bin/xtrabackup就是提供的备份命令;

/usr/bin/innobackupex    //备份innodb、xtrdb、myisam引擎的表

/usr/bin/xtrabackup       //备份innodb、xtrdb引擎的表

  • 查看命令帮助

[root@DB ~]# innobackupex –help     //常用选项

[root@DB ~]# man innobackupex       //详细帮助

innobackupex命令

常用选项

常用选项

含义

–host

主机名

–user

用户名

–port

端口

–password

密码

–databases

数据库名

–no-timestamp

不用日期命名备份文件存储的子目录名

–redo-only

日志合并

–apply-log

准备恢复数据

–copy-back

拷贝数据

–incremental 目录名

增量备份

–incremental-basedir=目录名

增量备份时,指定上一次备份数据存储的目录名

–incremental-dir=目录名

准备恢复数据时,指定增量备份数据存储的目录名

–export

导出表信息

import

导入表空间

注:

–host用来定义连接的是哪一台服务器,–host后面一般是数据库服务器的IP地址,如果连接的是本机的数据库服务器,那么就不用指定了,因为默认连接的就是本机的数据库服务器。

–user一般指定连接的用户,我们连接的用户要求必须要有备份权限,一般使用root用户,因为root用户有完全权限

–port:如果数据库服务器用的不是默认端口3306,那么就需要使用–port指定数据库服务器的端口

–databases后面没有指定库或者表时,默认就是备份数据库服务器上的所有库的所有表

–databases=”库名”         //1个库

–databases=”库1 库2″    //多个库

–databases=”库1.表”      //1张表

命令格式

  • 完全备份

]# innobackupex –user 用户名 –password 密码 备份目录名 –no-timestamp

注:备份目录不需要提前创建,执行命令的时候会自动创建该目录

  • 完全恢复

]# innobackupex –apply-log 备份目录名     //准备恢复数据

]#innobackupex –copy-back 备份目录名     //恢复数据

  • 增量备份

]# innobackupex –user 用户名 –password 密码 –incremental 增量目录 –incremental-basedir=目录名 –no-timestamp

  • 增量恢复

]# innobackupex –apply-log –redo-only 目录名 –incremental-dir=目录名      //准备恢复数据

]# innobackupex –copy-back 目录名       //恢复数据

文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux入门初识Linux25320 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年1月2日
下一篇 2022年1月2日

相关推荐