mysql 备份_mysql备份工具innobackupex压缩备份以及还原压缩备份梳理和总结

前言:

为什么需要压缩备份?我们都清楚,物理备份最大的缺点就是备份文件体积大,因此对于线上的较大数据库的备份结果进行压缩十分有必要,毕竟节省磁盘空间就是为企业节省成本。

260ac31c2047ebf8037e6a3b525d71d9.png

备份:

使用innobackupxe进行备份,选项可以使用innobackupex --help的方式查看各个选项的意思。

[root@centos7 ~]# innobackupex --defaults-file=/root/innobackupex.cnf --user=root --password=root --compress --compress-threads=4 --stream=xbstream --parallel=5 -S /tmp/mysql.sock1 /innobackup_dir/ > /innobackup_dir/backup.xbstream....省略其它输出190907 21:00:53 [00] Compressing and streaming 190907 21:00:53 [00] ...donextrabackup: Transaction log of lsn (2242984) to (2242993) was copied.190907 21:00:53 completed OK!##表示备份完毕 参数介绍:--defaults-file:指定用于备份的.cnf配置文件--user:备份数据库用户名--password:备份数据库密码--compress :表示本次备份进行压缩--compress-threads=4 :表示启动四个线程进行压缩--stream=xbstream : 表示使用流的方式进行压缩,并指定使用xbstream工具--parallel=5 : 启动5个线程进行备份-S /tmp/mysql.sock1 表示本地socket登录最终的效果是:将文件备份到innobackup_dir目录中后,>压缩为/innobackup_dir/backup.xbstream 如果想备份后直接传递到备份存储机器上:[root@centos7 ~]# innobackupex --defaults-file=/root/innobackupex.cnf --user=root --password=root --compress --compress-threads=4 --stream=xbstream --parallel=5 -S /tmp/mysql.sock1 /innobackup_dir/ | ssh root@ip "xbstream -x -C /data/mysql/backupdir"(传输的前提是,机器之间打通免密登录)

查看备份结果:

[root@centos7 innobackup_dir]# ls -lh backup.xbstream -rw-r--r--. 1 root root 166M Sep 7 21:14 backup.xbstream##备份结果就是一个文件,体积明显小了很多

恢复:

解压:

[root@centos7 outputdir]# mkdir -pv outputdir[root@centos7 outputdir]# xbstream -x < /innobackup_dir/backup.xbstream -C /outputdir/解压的结果(相当于tar,只是把一个大包打开了而已,并没有真正解压):[root@centos7 outputdir]# lltotal 8660-rw-r-----. 1 root root 470 Sep 7 21:24 backup-my.cnf.qpdrwxr-x---. 2 root root 4096 Sep 7 21:24 demo01drwxr-x---. 2 root root 4096 Sep 7 21:24 employees-rw-r-----. 1 root root 11480 Sep 7 21:24 ib_buffer_pool.qp-rw-r-----. 1 root root 601282 Sep 7 21:24 ibdata1.qpdrwxr-x---. 2 root root 4096 Sep 7 21:24 mysqldrwxr-x---. 2 root root 4096 Sep 7 21:24 performance_schemadrwxr-x---. 2 root root 4096 Sep 7 21:24 sbtestdrwxr-x---. 2 root root 12288 Sep 7 21:24 sys-rw-r-----. 1 root root 2213603 Sep 7 21:24 undo001.qp-rw-r-----. 1 root root 596797 Sep 7 21:24 undo002.qp-rw-r-----. 1 root root 5384066 Sep 7 21:24 undo003.qp-rw-r-----. 1 root root 102 Sep 7 21:24 xtrabackup_binlog_info.qp-rw-r-----. 1 root root 144 Sep 7 21:24 xtrabackup_checkpoints-rw-r-----. 1 root root 555 Sep 7 21:24 xtrabackup_info.qp-rw-r-----. 1 root root 394 Sep 7 21:24 xtrabackup_logfile.qp有很多.qp结尾的压缩文件,需要安装qpress工具,因为innobackupex在解压时默认使用该工具[root@centos7 outputdir]# yum install qpress真正解压:[root@centos7 outputdir]# innobackupex --decompress ./ ##默认从/usr/local/bin寻找qpress解压解压结果:190907 21:28:40 completed OK![root@centos7 outputdir]# lltotal 53776-rw-r--r--. 1 root root 487 Sep 7 21:28 backup-my.cnf-rw-r-----. 1 root root 470 Sep 7 21:24 backup-my.cnf.qpdrwxr-x---. 2 root root 4096 Sep 7 21:28 demo01drwxr-x---. 2 root root 4096 Sep 7 21:28 employees-rw-r--r--. 1 root root 27956 Sep 7 21:28 ib_buffer_pool-rw-r-----. 1 root root 11480 Sep 7 21:24 ib_buffer_pool.qp-rw-r--r--. 1 root root 12582912 Sep 7 21:28 ibdata1-rw-r-----. 1 root root 601282 Sep 7 21:24 ibdata1.qpdrwxr-x---. 2 root root 4096 Sep 7 21:28 mysqldrwxr-x---. 2 root root 12288 Sep 7 21:28 performance_schemadrwxr-x---. 2 root root 4096 Sep 7 21:28 sbtestdrwxr-x---. 2 root root 20480 Sep 7 21:28 sys-rw-r--r--. 1 root root 9437184 Sep 7 21:28 undo001-rw-r-----. 1 root root 2213603 Sep 7 21:24 undo001.qp-rw-r--r--. 1 root root 7340032 Sep 7 21:28 undo002-rw-r-----. 1 root root 596797 Sep 7 21:24 undo002.qp-rw-r--r--. 1 root root 16777216 Sep 7 21:28 undo003-rw-r-----. 1 root root 5384066 Sep 7 21:24 undo003.qp-rw-r--r--. 1 root root 15 Sep 7 21:28 xtrabackup_binlog_info-rw-r-----. 1 root root 102 Sep 7 21:24 xtrabackup_binlog_info.qp-rw-r-----. 1 root root 144 Sep 7 21:24 xtrabackup_checkpoints-rw-r--r--. 1 root root 606 Sep 7 21:28 xtrabackup_info-rw-r-----. 1 root root 555 Sep 7 21:24 xtrabackup_info.qp-rw-r--r--. 1 root root 2560 Sep 7 21:28 xtrabackup_logfile-rw-r-----. 1 root root 394 Sep 7 21:24 xtrabackup_logfile.qp

修改outputdir为对应的库的名称,并修改原库为另外的一个名称,修改新库的权限

[root@centos7 /]# mv data1 data1_backup[root@centos7 /]# mv outputdir/ data1[root@centos7 /]# chown mysql.mysql data1 -R##启动实例,发现能正常启动,至此,数据库恢复完毕[root@centos7 /]# mysqld_multi reportReporting MySQL serversMySQL server from group: mysqld1 is running

总结:

按照步骤来,问题不大。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值