Percona XtraBackup(简称PXB)是最常用的MySQL物理热备工具之一,并且是完全开源的。软件安装好后,bin目录下的文件如下所示:(版本为2.4.9)
在2.3版本之后,xtrabackup可同时用来备份innodb表和非innodb表,且会与mysqld server进行交互,如加读锁(FTWRL)、获取位点(SHOW SLAVE STATUS)等;
Innobackupex是作为xtrabackup的软连接;
xbcrypt是用来加密或解密;
xbstream是Percona实现的用于将备份输出格式转换为流文件的格式。
将xtrabackup.tar.gz安装包和qpress文件上传到/opt目录下并解压,然后设置软连接即可使用。
ln -s /opt/xtrabackup/bin/xtrabackup /usr/bin/innobackupex
ln -s /opt/xtrabackup/bin/xtrabackup /usr/bin/xtrabackup
ln -s /opt/xtrabackup/bin/xbstream /usr/bin/xbstream
cp /opt/qpress /usr/bin/ (qpress属主为root用户,权限为755)
--defaults-file # 指定配置文件,这个参数要放在第一位
--socket # 指定socket文件
-u # 指定用户名
-p # 指定密码
--compress # 启用压缩
--compress-threads =3 # 指定同时压缩的线程数量
--compress-chunk-size=1024K # 指定压缩的缓冲区大小
--parallel=8 # 指定启动并发备份线程的数量(一个数 据文件只会有一个进程完成备份)
--slave-info # 打印出master的名字和位点信息,并记录到 xtrabackup_slave_info文件中
--stream=tar,xbstream # 指定流备份格式
Xtrabackup的stream参数可以实现将备份以指定的tar或stream格式输出到STDOUT(标准输出),基于此,可以使用管道符和其他程序来过滤备份的输出,为备份的存储提供更大的灵活性。
innobackupex --defaults-file=/data/mysql/db_master01/conf/master01.cnf --socket=/data/mysql/db_master01/mysql.sock -uroot -p123456 --stream=tar /tmp > /data/DBbackup/master01/master_tar.tar
注:“/tmp”是流备份产生的临时文件存储的路径。
当使用tar格式的流备份时,直接使用“--compress”参数来进行压缩会提示不兼容报错,报错截图如下所示:
此时可以使用管道符和Linux环境下的压缩命令来完成压缩,命令如下:
innobackupex --defaults-file=/data/mysql/db_master01/conf/master01.cnf --socket=/data/mysql/db_master01/mysql.sock -uroot -p123456 --stream=tar /tmp | gzip - > /data/DBbackup/master01/master_gzip.tar.gz
可以比较一下压缩后备份文件的大小:
innobackupex --defaults-file=/data/mysql/db_master01/conf/master01.cnf --socket=/data/mysql/db_master01/mysql.sock -uroot -p123456 --compress --compress-threads=3 --parallel=8 --stream=xbstream /tmp > /data/DBbackup/master01/master_xbstream.xbstream
查看备份文件大小:
从归档文件中提取备份:
xbstream -x < master_xbstream.xbstream -C /data/DBbackup/master01
可以使用管道符搭配SSH命令,将备份数据流传输到远程主机,命令如下:
innobackupex --defaults-file=/data/mysql/db_master01/conf/master01.cnf --socket=/data/mysql/db_master01/mysql.sock -uroot -p123456 --compress --compress-threads=3 --parallel=8 --stream=xbstream /tmp | ssh mysql@10.10.1.128 "cat - > /data/master01/master_remote.xbstream"
登录远程主机,查看备份文件:
更多精彩干货分享
点击下方名片关注
IT那活儿
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/129849.html
阅读 1348·2023-01-11 13:20
阅读 1687·2023-01-11 13:20
阅读 1138·2023-01-11 13:20
阅读 1863·2023-01-11 13:20
阅读 4104·2023-01-11 13:20
阅读 2709·2023-01-11 13:20
阅读 1388·2023-01-11 13:20
阅读 3600·2023-01-11 13:20