mysql rsync_MySql中 dump 使用rsync异地全量备份数据库

Mysql 做了本机,同机房全量备份后,想同时做一份异地备份,考虑异地机房的网络不稳定性,使用 rsync 来同步备份的文件;

同机房异机备份,内网速度快可以使用scp,或者mysqldump备份脚本放在非mysql机器上;

服务器环境: CentOS Linux release 7.7.1908 (Core)

当前是一体机,所以在mysql机器做mysqldump,实际业务中上最好在非mysql机器执行mysqldump做备份;

一. 远程备份服务器,安装rsync:

1、1 使用yum安装:

1、2 查看版本:

1、3 查询配置文件存放的路径

1、4 查看systemd服务管理脚本:

在/lib/systemd/system目录下存在rsyncd.service, 即可以使用systemctl 管理 rsync

1、5 开放服务器公网访问端口,默认使用873,如果修改rsync端口,则开放相应端口;

重中之重

二. 远程备份服务器,配置rsync:

2、1 修改rsyncd.conf配置:

2、2 创建密码文件,rsync认证的用户和密码, 不需要使用useradd真实创建用户:

2、3 修改认证为root的读写权限:

三. 远程备份服务器,启动rsync:

3、1 使用systemctl管理服务:

重启:# systemctl restart rsyncd 查看状态:# systemctl status rsyncd

3、2 查看端口监听状态:

3、3 查看rsync的log,是否正常启动:

四. Mysql服务器,创建备份用户:

3、1 使用mysql的root账号,进入终端:

3、2 创建mysqldump用户,建议和业务数据库用户区分开, GRANT权限可以调整,注意一定不要 GRANT ALL:

五. Mysql服务器,创建备份脚本:

5、1 创建备份脚本,可以根据业务实际情况,修改:

同机房异机备份,内网速度快可以使用scp,或者备份脚本放在非mysql机器上;

a. 如果mysql没有开启binlog,需去掉binlog刷新:–flush-logs –master-data=2

b. user_rsync(at)10.20.30.40::mysql ( 认证用户@远程服务器::模块名 )

c. –include=”.gz” 只同步gz后缀得文件,脚本等其他文件不同步

d. –exclude= 排除目录下所有文件, 注意exclude 必须在 include后面

5、2 修改/opt/mysql_backup.sh脚本可执行:

六. Mysql服务器,测试脚本,添加crontab:

6、1 测试脚本,查看远程备份服务器的文件:

在远程服务器,mysql模块对应的目录,rsync文件传输中是隐藏文件,要使用 ll -la 查看。

6、2 添加定时脚本:

每天03:00,执行一次, 具体根据业务情况,调整脚本执行时间和频率。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值