Mysql备份恢复利用主从_利用 innobackupex 备份恢复 做mysql 主从

主库大了以后,mysqldump备份初始化 数据库从库就显得力不从心。工作:做主从

5b40cb45a363767505e2a3117707cabe.png

特别是在 “天下武功,唯快不破” 的年代,速度成了成功的重要前提。

用工具,用出心得。用出剑锋。。。

2:安装:推荐yum,新手必备。一刀到位。

3:压缩备份原数据库,根据实际机器core数选择压缩线程。

nohup sh backup.sh &

#!/bin/sh/usr/bin/innobackupex --defaults-file=/etc/my.cnf --host=127.0.0.1 --port=3306 --user=root --password='x'x'x'--parallel=8 --compress-threads=8 --compress /dbdata/backup

4:对比主库运行参数和配置参数差异

pt-config-diff h=127.0.0.1,P=3306,u=root,p='xxx' /etc/my.cnf

5:查看成功的备份,.qp表示是压缩备份,查看备份情况 xtrabackup_info 文件。

[root@db_pre_191 2019-05-10_18-46-10]# ls

backup-my.cnf.qp ib_buffer_pool.qp mysql performance_schema sys undo001.qp undo003.qp xtrabackup_checkpoints xtrabackup_logfile.qp

call_center_db ibdata1.qp percona report tdata undo002.qp xtrabackup_binlog_info.qp xtrabackup_info.qp

uuid = 53f84dd0-7314-11e9-a17b-56318c4b9444

name=tool_name=innobackupex

tool_command= --defaults-file=/etc/my.cnf --host=127.0.0.1 --port=3306 --user=root --password=... --parallel=8 --compress-threads=8 --compress /dbdata/backup

tool_version = 2.4.9ibbackup_version= 2.4.9server_version= 5.7.23-logstart_time= 2019-05-10 18:46:10end_time= 2019-05-10 19:11:15lock_time= 0binlog_pos= filename 'data.000029', position '1141561', GTID of the last change '66dd0de4-e808-11e8-9977-56318c4b9444:1-5239179,

e60ad69e-3f20-11e9-ac66-3a9923d2ce01:1-71698'innodb_from_lsn= 0innodb_to_lsn= 1738871043736partial=N

incremental=N

format= filecompact=N

compressed=compressed

encrypted= N

6:NC 传数据

64c73793cd56fc225c4120a14a486715.png

7:目标主机解压:

rpmkeys --import https://www.percona.com/downloads/RPM-GPG-KEY-percona

yum install -y http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm

yum install qpress -y

xtrabackup --decompress --target-dir=/data/

8:全库恢复 ,关闭数据库并删除数据文件

9:准备(prepare)一个完全备份: --apply-log 执行之后 xtrabackup_checkpoints 文件中的 backup_type = full-prepared

innobackupex --apply-log /data/2019-05-10_18-46-10

10:执行恢复:

innobackupex --defaults-file=/etc/my.cnf --copy-back --rsync 2019-05-10_18-46-10

11:更改 data/ 目录权限并启动mysql

#chown -R mysql.mysql data/

#systemctl start mysqld

12:增量备份1, 以全备为基准。

innobackupex --defaults-file=/etc/my.cnf --user=xxx --password=xxx --socket=/tmp/mysql.sock --incremental /data/inc --incremental-basedir=/data/2019-05-10_18-46-10 --parallel=2

cat xtrabackup_checkpoints

backup_type=incremental ##说明是增量备份

from_lsn= 1738871043736to_lsn= 1738871053736last_lsn=1738881053736compact= 0recover_binlog_info= 0

13:增量备份2,以增量1为准

innobackupex --defaults-file=/etc/my.cnf --user=xxx--password=xxx --socket=/tmp/mysql.sock --incremental /data/inc --incremental-basedir=/data/inc/2019-05-10_19-46-10/ --parallel=2

14: 增量备份恢复:下面是别人测的示例

恢复完全备份

恢复增量备份到完全备份(开始恢复的增量备份要添加--redo-only参数,到最后一次增量备份要去掉--redo-only)

对整体的完全备份进行恢复,回滚未提交的数据

##准备一个全备##[root@centos6 pxb]# innobackupex --apply-log --redo-only /data/pxb/2017-04-24_02-46-11/

xtrabackup: startingshutdown with innodb_fast_shutdown = 1InnoDB: Startingshutdown...

InnoDB:Shutdown completed; log sequence number 2628145InnoDB:Number of pools: 1

01:33:52completed OK!

##将增量1应用到完全备份##[root@centos6 pxb]# innobackupex --apply-log --redo-only /data/pxb/2017-04-24_02-46-11/ --incremental-dir=/data/pxb/inc/2017-04-28_01-09-40/

##将增量2应用到完全备份,注意不加--redo-only 参数了##

[root@centos6 pxb]# innobackupex --apply-log /data/pxb/2017-04-24_02-46-11/ --incremental-dir=/data/pxb/inc/2017-04-28_01-27-46/

##把所有合在一起的完全备份整体进行一次apply操作,回滚未提交的数据##[root@centos6 pxb]# innobackupex --apply-log /data/pxb/2017-04-24_02-46-11/

xtrabackup: Log applied to lsn 2628145xtrabackup: The intended lsnis 2643563

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值