如何使用XtraBackup进行数据库备份

一、从官网下载 Percona-XtraBackup-2.4.12-r170eb8c-el7-x86_64-bundle.tar
https://www.percona.com/downloads/Percona-XtraBackup-LATEST/
tar xvf解包后,for f in *.rpm; do yum install -y $f;done即可 (该包有一些依赖包,需要先配置好本地源)
二、本地备份:

innobackupex --defaults-file=/etc/my.cnf --user=数据库账户 --password=数据库密码 本地备份目录

三、将备份上传到另一个主机:
1、配置本地rsync配置文件/etc/rsyncd.conf

		uid = root   #rsync使用的用户,默认nobody
		use chroot = no
		max connections = 4      # 超时时间
		port = 10873             # 端口
		pid file = /var/run/rsyncd.pid
		lock file = /var/run/rsyncd.lock
		log file = /var/log/rsyncd.log
		transfer logging = yes
		timeout = 300
		ignore nonreadable = yes   #忽略io错误
		dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2   # 不再压缩的文件类型

		[HjyModel]                 # 模块名称,唯一
		path = /data1/backup/      # 模块在服务端的绝对路径
		uid = root
		ignore errors
		read only = true
		auth users = hjy           # 远程连接的用户名称
		secrets file = /etc/rsyncuser.pass   # 密码验证的配置文件
		hosts allow = 192.168.132.128        # 允许连接的地址
		exclude = /log             # 排除不需要传的文件类型
2、创建/etc/rsyncuser.pass
vim /etc/rsyncuser.pass
	hjylalala:957001360h    # 内容必须为“用户名:密码”
	修改该文件的权限
chmod 600 /etc/rsyncuser.pass
3、服务端启动rsyncd服务
systemctl start rsyncd
4、配置客户端,在客户端也同样安装Percona-XtraBackup-2.4.12-r170eb8c-el7-x86_64-bundle.tar中的软件
	创建/etc/rsyncuser.pass
	# 内容第一行是只有密码,没有用户名
	957001360h

5、传输日志文件
	rsync -vzrtopgl --protocol=29 --progress --contimeout=10 --delete --port=端口号 --password-file=密码文件地址 用户名@192.168.132.164::模块名 本地路径
	# 示例:
	rsync -vzrtopgl --protocol=29 --progress --contimeout=10 --delete --port=10873 --password-file=/etc/rsyncuser.pass hjy@192.168.132.164::HjyModel /home/hjy

四、恢复
把xtrabackup生成的目录整个scp到恢复的目标主机

scp -r /data1/backup/ddos-db1/2018-07-22_11-32-44 目标主机IP:/data/backup/mysql
(首先需要删除原mysql_data目录下的所有文件,这里是/data1/mysql/mydata)

使用innobackupex恢复数据
 innobackupex --defaults-file=/etc/my.cnf --user=root --password=****** --use-memory=4G --apply-log /data1/backup/ddos-db1/2018-07-22_11-32-44
 innobackupex --defaults-file=/etc/my.cnf --user=root --password=****** --copy-back /data1/backup/ddos-db1/2018-07-22_11-32-44
    修改恢复数据库mysql_data目录权限
chown -R mysql:mysql /data1/mysql/mydata
    启动数据库
 /etc/init.d/mysqld start
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值