目录
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进行处理,非常感谢!