生产环境备份mysql数据,并把备份数据同步到备用服务器。

  • Post author:
  • Post category:mysql



生产环境备份mysql数据,并把备份数据同步到备用服务器。

1.编写mysql备份数据脚本文件,该文件为数据库的全量备份。

touch  /data/backup/script/mysql_backup.sh

#!/bin/sh

MYSQL_IP=xxx.xxx.xxx.xxx

MYSQL_PORT=3306

BACKUP_USER=xxxx

BACKUP_PASSWORD=xxxxxxxxx

mysqldump -h$MYSQL_IP -P$MYSQL_PORT -u$BACKUP_USER –single-transaction –ignore-table=mysql.event -p$BACKUP_PASSWORD –all-databases |gzip > /data/backup/archive/mysql`date +%F`.sql.gz

设置定时任务:每天晚上00.00.01分执行数据库数据全量备份      1 0 * * * /data/backup/script/mysql_backup.sh

2.定时清理数据库数据备份

touch /data/backup/script/mysql_bk_clean.sh

#!/bin/sh

day=3

for f in `find /data/backup/archive -mtime +$day -type f`

do

rm -rf $f

done

设置定时任务:每天晚上凌晨1点清理3天前备份的mysql数据     0 1 * * * /data/backup/script/mysql_bk_clean.sh

3.数据库数据同步备用服务器

1、在 服务器中安装 rsync   执行命令如下:

yum -y install rsync

2、用密钥实现免密登录

由于需要使用命令行传输文件,不方便输入密码,所以在服务器 A 中配置 ssh 免密登录,配置成功后,服务器 A 登录服务器 B 时就不需要输入密码就可以登录了。

(1)生成公钥

在服务器 A 中输入命令:

ssh-keygen

该命令会生成一个公钥,执行命令后,在 ~/.ssh/ 会出现两个新文件:

生成公钥

(2)将公钥传输到服务器 B 中

在服务器 A 中输入命令:


ssh-copy-id root@B服务器ip

或者

ssh-copy-id -i ~/.ssh/id_rsa.pub root@B服务器ip

免登录认证成功后,需把/data/backup/archive/下的数据库备份文件同步到备用服务器。

rsync -arv –delete /data/backup/archive/ root@10.37.25.181:/home/liu_hongjie/

如果出现错误,俩台服务器都需执行yum -y install rsync



版权声明:本文为qq_40894742原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。