mysql数据库定时分库备份(本地+异地)
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,简介-邱月涛公司新项目上线,今天建立全网备份,现在这记录的是mysql部分备份方式:全备+binlog备份地点:本地+异地备份时间:每日0点,切割binlog日志1,环境介绍:[root@jm1j-n
千家信息网最后更新 2025年11月08日mysql数据库定时分库备份(本地+异地)
简介-邱月涛
公司新项目上线,今天建立全网备份,现在这记录的是mysql部分
备份方式:全备+binlog
备份地点:本地+异地
备份时间:每日0点,切割binlog日志
1,环境介绍:
[root@jm1j-node1 scripts]# cat /etc/redhat-release CentOS release 6.8 (Final)[root@jm1j-node1 scripts]# mysql -Vmysql Ver 14.14 Distrib 5.6.35, for linux-glibc2.5 (x86_64) using EditLine wrapper2,规范脚本存放目录
mkdir -p /server/scripts3,编写脚本内容如下
#!/bin/bash#---------------------------------------------------------# $Name: mysqlbackup.sh# $Version: v1.0# $Author: qiuyuetao# $organization: https://blog.51cto.com/qiuyt# $Create Date: 2017-12-13# $Description: Mysql backup script#---------------------------------------------------------#source /etc/init.d/functionsDAY=`date +%Y-%m-%d\-%H-%M`BACK_DIR="/data/backup/mysql/dump"DBUSER="root" #数据用户DBPASSWD="***数据库密码" BIN_PATH="/application/mysql/bin" #全局变量,可以使用which获取LOG="/var/log/mysqlback.log" #备份日志CKLOG="/var/log/bkmd5-"$DAY".log" #md5加密日志,后期发送邮件## Close all tables and refresh log ####"$BIN_PATH"/mysql -u "$DBUSER" -p"$DBPASSWD" -e "flush logs"#"$BIN_PATH"/mysql -u "$DBUSER" -p"$DBPASSWD" -e "flush tables with read lock"echo "mysqldump start `date +%F\ %H\:%M\:%S`" >> "$LOG"## Each backup database to the target location ####for i in `"$BIN_PATH"/mysql -u "$DBUSER" -p"$DBPASSWD" -e "show databases" |grep -vE "Database|information_schema|performance_schema"` do if [ ! -d "$BACK_DIR"/"$i" ]; then mkdir -p "$BACK_DIR"/"$i" fi"$BIN_PATH"/mysqldump -u "$DBUSER" -p"$DBPASSWD" --default-character-set=utf8 --events --master-data=2 --lock-all-tables -f --log-error="$LOG" -B "$i"|gzip > "$BACK_DIR"/"$i"/"$DAY".sql.gzmd5sum "$BACK_DIR"/"$i"/"$(date +%F --date='0 days ago')"-*.sql.gz >>$CKLOG doneecho "mysqldump stop `date +%F\ %H\:%M\:%S`" >> "$LOG"echo "" >>"$LOG"## Delete old 10day backup files 保留最近10天的数据####for RM in `"$BIN_PATH"/mysql -u "$DBUSER" -p"$DBPASSWD" -e "show databases" |grep -vE "Database|information_schema|performance_schema"` dorm -rf "$BACK_DIR"/"$RM"/$(date +%F --date='10 days ago')*.sql.gz doneecho 生产数据库备份完整性MD5初始值 |mail -s 备份校验 -a "$CKLOG" qiuyt@*****.com ##自己的邮箱4,添加执行权限
[root@jm1j-node1 scripts]# chmod +x mysqlbackup.sh `5,在命令行手动测试
查看备份结果,
#如果没有发送邮件,请检查服务是否安装,启动,25端口是否启用等等,然后手动发送邮件测试
6,配置邮箱
1)查看是否安装mailx
[root@jm1j-node1 scripts]# rpm -qa|grep mailxmailx-12.4-8.el6_6.x86_642)修改mail配置
[root@yilonghc-m01 ~]# tail /etc/mail.rc ##t添加如下内容set bsdcompatset from=outlokk@163.comset smtp=smtp.163.comset smtp-auth-user=*****@163.com #自己的邮箱set smtp-auth-password=***** ##授权码set smtp-auth=login6,定时备份 (正常可以加入crontab定时任务,每天0点执行)

上面没有找到,下面命令安装
yum install -y vixie-cron添加定时任务
crontab -e#mysqlbackup by qyt at 2017-12-1300 00 * * * /bin/sh /server/scripts/mysqlbackup.sh >/dev/null 2>&1##异地备份,有多重方式,为了减少服务器压力,我使用rsync 客户端拉取方式
备份
数据
方式
日志
邮件
邮箱
异地
数据库
任务
内容
命令
手动
脚本
服务
测试
配置
全局
全网
公司
压力
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
sql 数据库日期
数据库安全威胁包含
数据库的地位与作用
网吧服务器怎么加内存
客户管理软件开发费用多少钱
河南服务器维修调试云服务器
服务器发布项目发到哪去了
党员 网络安全
构建数据仓库时如何创建数据库
狗爹的服务器默认谁的
手机提示内部服务器错误
联想手机自动关机后无服务器
数据库字段改为空值
数据库怎么搬迁
新华互联网科技系列就业
kakao为什么连接服务器失败
单位网络安全人员离岗制度
服务器长连接和短链接
oracle数据库注册机
ios用什么软件管理服务器
邦妮的网络技术有限公司
db2命令行连接数据库
软件开发纠纷官司
服务器设置允许连接端口5001
自然人扣缴客户端代理服务器地址
软件开发产品原型设计
csgo控制台进入社区服务器
网络技术的基础概念
数据库实验结果分析及问题讨论
模拟数据库java