MySQL数据库如何用脚本备份全库和增量备份
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,MySQL数据库如何用脚本备份全库和增量备份?针对这个问题,今天小编总结这篇有关数据库备份的文章,可供感兴趣的小伙伴们参考借鉴,希望对大家有所帮助。1、全库备份脚本如下:#!/bin/bash####
千家信息网最后更新 2025年11月07日MySQL数据库如何用脚本备份全库和增量备份
MySQL数据库如何用脚本备份全库和增量备份?针对这个问题,今天小编总结这篇有关数据库备份的文章,可供感兴趣的小伙伴们参考借鉴,希望对大家有所帮助。
1、全库备份脚本如下:
#!/bin/bash############### 定义默认值 #################user='root'passwd='123.com'host='localhost'today=`date '+%F'`dump_cmd='/usr/local/mysql/bin/mysqldump'full_backupdir="/opt/database/full_backup/"email='916551516@qq.com'################### 加载变量并定义脚本用法 ###################USAGE(){echo -e "\033[33m $0 脚本用法: -u: 指定备份用户(默认是root) -p: 指定用户密码(默认密码为"123.com") -h: 指定备份主机(默认是本机) -d: 指定要备份的数据库(默认备份所有库) \033[0m"}if [[ $1 == '--help' || $1 == '-h' ]];then USAGE exit 0fi###################### 对选项进行赋值 ###################while getopts ":u:p:h:d:" optname;docase "$optname" in"u") user=$OPTARG;; "p") passwd=$OPTARG ;;"h") host=$OPTARG ;;"d") db=$OPTARG;; ":") echo "此选项没有值!" ;;"*") echo "错误信息...";;"?") echo "不知道此选项...";;esacdone############# 对要备份的库进行判断并执行备份操作 ###############[ -d ${full_backupdir} ] || mkdir -p ${full_backupdir}cd ${full_backupdir}: > err.logif [ ${#db} -eq 0 ];then ${dump_cmd} -u${user} -p${passwd} -h${host} -A -F > ${today}.sql 2> err.log status=$? sqlname="${today}.sql"else ${dump_cmd} -u${user} -p${passwd} -h${host} --databases $db -F > ${today}.${db}.sql 2> err.log status=$? sqlname="${today}.${db}.sql"fi############ 对备份状态进行判断 #####################if [ ${status} -eq 0 ];then tar zcf ${sqlname}.tar.gz ./${sqlname} rm -f ${sqlname}########### 如果失败,则发送报警邮件到指定邮箱 ################else echo "备份数据库失败,错误日志如上所示!!!" >> err.log mail -s "mysql backup" $email < err.logfi############ 删除二十天前的备份文件 ##############find . -type f -name "*.tar.gz" -mtime +20 -delete2、二进制增量备份脚本
#!/bin/bash####################### 定义初始值 #############################user='root'passwd='123.com'datadir="/usr/local/mysql/data"backupdir="/opt/database/dailybackup/"dump_cmd='/usr/local/mysql/bin/mysqlbinlog'[ -d ${backupdir} ] || mkdir -p ${backupdir} #判断备份文件存放路径是否存在cd ${datadir} #切换至mysql的数据存放路径sum=`cat bin_log.index | wc -l` #取得所有二进制日志文件总数/usr/local/mysql/bin/mysql -u${user} -p${passwd} -e "flush logs" &> /dev/null #在备份前刷新二进制日志文件nextnum=0 #定义一个初始值为0backupsum=0for file in `cat bin_log.index` #对所有二进制日志文件进行遍历do binlogname=`basename $file` #获取二进制日志文件名#如果当前备份的文件数目比总数小(新刷新的二进制文件不需要备份) if [ $nextnum -lt $sum ];then [ -f ${backupdir}${binlogname} ] || cp -a ${file} ${backupdir}${binlogname} #如果备份目录下不存在该二进制文件,则进行copy动作 let nextnum++ #对备份成功数量进行增加 fidoneecho "跳过最新二进制日志文件,备份完成!!!"
以上就是MySQL数据库用脚本备份全库和增量备份的具体实现方法,看完之后是否有所收获呢?如果想了解更多相关内容,欢迎关注行业资讯!
备份
文件
二进制
数据
脚本
日志
数据库
增量
密码
总数
用户
路径
错误
成功
主机
信息
兴趣
内容
动作
变量
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
电脑变成网页服务器
vmware虚拟机服务器管理
5e2v2约战服务器分配失败
泰安量化积分管理软件开发系统
数据库元组中的元素
榆林软件开发哪家好
湖北学习软件开发排名
本特利铃声软件开发
windows没有iis服务器
物联网数据库哪种好
事物的一致性和数据库的一致性
济南净资网络技术有限公司
用友凭证打印参数数据库
非法集资公司网络技术人员
寸景网络技术工作室
ifix 4.0数据库
租服务器是按年还是按月
三种服务器
东城区综合软件开发创新服务
头条软件开发怎么样
附加数据库时出错 948
合肥监狱网络安全管理岗工作内容
宁夏IPTV服务器信号源
连接本地数据库出错08001
干软件开发能干到多少年龄
济南净资网络技术有限公司
怎么检查手机网络安全性
鲸鲨云数据库迁移工具
服务器开放端口管理软件
蓝色科技互联网宣传片