1. 下载xtrabackup
wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-8.0.4/binary/redhat/7/x86_64/percona-xtrabackup-80-8.0.4-1.el7.x86_64.rpm
安装:
yum localinstall percona-xtrabackup-80-8.0.4-1.el7.x86_64.rpm
2. 安装依赖
方法一
wget ftp://rpmfind.net/linux/atrpms/el6-x86_64/atrpms/stable/libev-4.04-2.el6.x86_64.rpm
rpm -ivh libev-4.04-2.el6.x86_64.rpm
方法二
yum install -y http://rpmfind.net/linux/epel/6/x86_64/Packages/l/libev-4.03-3.el6.x86_64.rpm
yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm -y
percona-release enable-only tools release
3. 安装perl md5依赖包
yum -y install rsync perl l perl-Digest-MD5
4. 安装mysql libs
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
5. 查询版本
xtrabackup -v
#显示版本信息
6. 全备份
xtrabackup --backup --target-dir=/data/dll/ --user=root --password=Mysql123 --socket=/var/lib/mysql/mysql.sock
#--backup:表示该操作为备份操作
#--target-dir:指定备份文件的路径,该路径下不能有任何的文件,否则会报错
#--user:备份的用户
#--password:该用户的密码
#--socket:指定socket启动文件路径 通常在:/var/lib/mysql/mysql.sock
执行过程需要等一会儿,执行完毕后会显示: completed OK!
此时–target-dir:指定备份文件的路径 下就会有一个备份文件
7. 恢复
xtrabackup --defaults-file=/etc/my.cnf --copy-back --target-dir=/data/dll/
#--target-dir 是备份的文件路径
#--defaults-file 是mysql的配置文件,my.cnf里面有个date-dir路径,要保证这个路径里面不应该有任何文件,否则会失败
chown -R mysql:mysql mysql
#修改权限
8. 通过shell脚本和crontab定时器进行定时备份
#!/bin/bash
# name:name.sh
BACK_DIR=/opt/mysqldump
TIME=$(date "+%Y%m%d%H%M")
USER=root
PASSWORD=root
DATABASES=test
if [ ! -d "$BACK_DIR" ]; then
mkdir $BACK_DIR
fi
xtrabackup --defaults-file=/etc/my.cnf --user='root' --password='root' --databases=$DATABASES -S /var/lib/mysql/mysql.sock --backup --target-dir=$BACK_DIR/$DATABASES\_$TIME/
find $BACK_DIR -name "$DATABASES\_*" -type d -mtime +7 -exec rm -rf {} \; > /dev/null 2>&1
9. 使用crontab定时任务
先检查是否安装
service crond status //有信息说明已安装
安装crontabs
yum install crontabs //安装
service crond start //启动
crontab -e //进入定时器设置
# -bash: crontable: command not found
#文件在/bin下,不能用vim编辑哦
i //键进行编辑操作
#编辑完成ESC
# :wq //保存
分钟 小时 日 月 星期
* * * * *
#例如每天六点:0 6 * * *
10. 重载crond
systemctl reload crond.service
systemctl start crond.service
service crond stop
systemctl restart crond.service
service crond status //状态
最后:由于数据更新较快,部分步骤在输入时有可能出现报错,可以重新搜索最新的安装步骤,或者搜索报错信息查找解决办法。
图片或部分信息来自网络,如有冲突,请留言删除更改