Mysql备份指导说明

前置条件:

1、 MySQL数据库正常运作,且记录以下信息:

a) Mysql my.cnf文件路径
b) 备份用户名及密码

mysql> CREATE USER 'bkpuser'@'localhost' IDENTIFIED BY 's3cret'; 
mysql> GRANT RELOAD, LOCK TABLES, PROCESS, REPLICATION CLIENT ON *.* TO 'bkpuser'@'localhost'; 
mysql> FLUSH PRIVILEGES;

c) Mysql socket文件路径
d) Mysql binlog文件路径
e) 存放备份副本的路径,建议使用NFS共享盘,比如NAS存储

2、 规划备份策略:

a) 备份频率,比如全备多久一次?binlog同步多久一次?
b) 保存周期,比如备份出来的数据保存在共享盘上多久?或者能恢复到什么时候的数据?

备份方式的选择:

针对MySQL数据的备份,通常我们可以通过以下方式来实现

• 直接复制数据库文件
• Mysqldump + Binlog 复制
• lvm2快照 + Binlog 复制
• xtrabackup备份

以上的几种解决方案分别针对于不同的场景
  1. 如果数据量较小, 可以使用第一种方式, 直接复制数据库文件
  2. 如果数据量还行, 可以使用第二种方式, 先使用mysqldump对数据库进行完全备份, 然后定期复制Binlog达到增量备份的效果
  3. 如果数据量一般, 而又不过分影响业务运行, 可以使用第三种方式, 使用lvm2的快照对数据文件进行备份, 而后定期复制Binlog达到增量备份的效果
  4. 如果数据量很大, 而又不过分影响业务运行, 可以使用第四种方式, 使用xtrabackup进行完全备份后, 定期使用xtrabackup进行增量备份或差异备份(公司采用定期复制Binlog达到增量备份的效果)
总结对比如下:
备份方法备份速度恢复速度便捷性功能适用场景
直接复制一般、灵活性低很弱少量数据备份
mysqldump一般、可无视存储引擎的差异一般中小型数据量的备份
lvm2快照一般、支持几乎热备、速度快一般中小型数据量的备份
xtrabackup较快较快实现innodb热备、对存储引擎有要求强大较大规模的备份
xtrabackup工作原理

在这里插入图片描述

支持MySQL版本

MySQL5.7、5.6、5.5

安装xtrabackup

官网下载 percona-xtrabackup-24-2.4.15-1.el7.x86_64.rpm :
https://www.percona.com/downloads/Percona-XtraBackup-2.4/LATEST/

libev:
http://www.rpmfind.net/linux/epel/7/x86_64/Packages/l/libev-4.15-3.el7.x86_64.rpm

开始安装:

yum install -y perl-DBD-MySQL
yum install -y perl-Digest
yum install -yperl-Digest-MD5
rpm -ivh libev-4.15-3.el7.x86_64.rpm
rpm -ivh percona-xtrabackup-24-2.4.15-1.el7.x86_64.rpm

检查安装结果:

[root@jttimvuca02 soft]# yum list | grep percona
percona-xtrabackup-24.x86_64            2.4.15-1.el7                   installed

配置备份脚本:

[root@jttimvuca02 app]# ./backup_db.sh 

**********************************************
****   1: For oracle database backup      ****
****   2: For mysql  database backup      ****
**********************************************


Please choose which database to backup :2
********************************************
You choose the 2: For mysql  database backup
********************************************
输入MySQL的my.cnf绝对路径
Please enter the my.cnf path for mysql full backup :/etc/my.cnf
输入MySQL的备份用户
Please enter the Backup user for mysql full backup :backup
输入MySQL的备份用户的密码
Please enter the Backup user password for mysql full backup :Password
输入MySQL的socket文件绝对路径
Please enter the Mysql socket path for mysql full backup :/var/lib/mysql/mysql.sock
输入MySQL的binlog文件绝对路径
Please enter the binlog path for mysql binlog  rsync :/tmp
输入MySQL的备份文件存放目标绝对路径
Please enter the destination path for mysql full backup :/app/backup

********************************************
Stript file ouput: For mysql database backup
********************************************
MySQL的备份脚本输出路径
Mysql inno full backup script file: /app/backup_mysql_inno.sh
Mysql binlog rsync script file: /app/rsync_mysql_binlog.sh
Mysql backup image clean script file: /app/clean_mysql_file.sh

********************************************
[root@jttimvuca02 app]# ll
total 20
drwxrwxr-x 5 root root   43 Jul 21 19:56 backup
-rwxrwxr-x 1 root root 7521 Jul 21 20:37 backup_db.sh
-rwxrwxr-x 1 root root  262 Jul 21 20:38 backup_mysql_inno.sh
-rwxrwxr-x 1 root root  125 Jul 21 20:38 clean_mysql_file.sh
-rwxrwxr-x 1 root root  116 Jul 21 20:38 rsync_mysql_binlog.sh

配置定时任务:

Example of job definition:
.---------------- minute (0 - 59)
| .------------- hour (0 - 23)
| | .---------- day of month (1 - 31)
| | | .------- month (1 - 12) OR jan,feb,mar,apr …
| | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
| | | | |

          • user-name command to be executed

逗号(,):能够用逗号隔开的值指定一个列表范围,比如。“1,2,5,7,8,9”
中杠(-):能够用整数之间的中杠表示一个整数范围,比如“2-6”表示“2,3,4,5,6”
正斜线(/):能够用正斜线指定时间的间隔频率,比如“0-23/2”表示每两小时运行一次。同一时候正斜线能够和星号一起使用。比如*/10,假设用在minute字段,表示每十分钟运行一次。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值