mysql数据库定时分库备份(本地+异地)
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,简介-邱月涛公司新项目上线,今天建立全网备份,现在这记录的是mysql部分备份方式:全备+binlog备份地点:本地+异地备份时间:每日0点,切割binlog日志1,环境介绍:[root@jm1j-n
千家信息网最后更新 2025年02月02日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 wrapper
2,规范脚本存放目录
mkdir -p /server/scripts
3,编写脚本内容如下
#!/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_64
2)修改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=login
6,定时备份 (正常可以加入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安全错误
数据库的锁怎样保障安全
杭州广悦互联网科技有限公司
宁波华卡网络技术有限公司
怎么看电脑服务器的密码
防止MySQL数据库误删
企业网络安全教育培训总结
计算机数据库二级
诚佳网络技术有限公司
数据库改名字 sql语句
怎么抓服务器
守护网络安全的电脑高手
网络安全可用性案例
华三服务器默认管理用户
东土科技工业互联网
网络安全培训上海有吗
如何安装数据库2000
手机白银交易软件开发
网络安全应急新闻指挥中心
手机网络安全防护怎么做
数据库图灵奖的得主有哪几位
汽车因智能网络技术
办公软件开发哪个好
网络安全专业实习目的
量子特攻服务器域名
江西个性化软件开发收费
联联网络技术
淄博游戏软件开发外包公司
上海戴尔r750服务器
禁止此ip地址连接服务器
我的世界服务器天气
自动化和软件开发哪个好