• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

使用mysqldump定时备份数据库的脚本_MySQL

mysql 搞代码 4年前 (2022-01-09) 28次浏览 已收录 0个评论

mysqldump

  脚本描述

  每7天备份一次所有数据,每天备份binlog,也就是增量备份.

  (如果数据少,每天备份一次完整数据即可,可能没必要做增量备份)

  作者对shell脚本不太熟悉,所以很多地方写的很笨 :)

  开启 bin log

  在mysql 4.1版本中,默认只有错误日志,没有其他日志.可以通过修改配

本文来源gao!daima.com搞$代!码网

置打开bin log.方法很多,其中一个是在/etc/my.cnf中的mysqld部分加入:

  [mysqld]

  log-bin

  这个日志的主要作用是增量备份或者复制(可能还有其他用途).

  如果想增量备份,必须打开这个日志.

  对于数据库操作频繁的mysql,这个日志会变得很大,而且可能会有多个.

  在数据库中flush-logs,或者使用mysqladmin,mysqldump调用flush-logs后并且使用参数delete-master-logs,这些日志文件会消失,并产生新的日志文件(开始是空的).

  所以如果从来不备份,开启日志可能没有必要.

  完整备份的同时可以调用flush-logs,增量备份之前flush-logs,以便备份最新的数据.

  完整备份脚本

  如果数据库数据比较多,我们一般是几天或者一周备份一次数据,以免影响应用运行,如果数据量比较小,那么一天备份一次也无所谓了.

  下载假设我们的数据量比较大,备份脚本如下:(参考过网络上一个mysql备份脚本,致谢 :))

#!/bin/sh
# mysql data backup script
# by scud http://www.jscud.com
# 2005-10-30
#
# use mysqldump –help,get more detail.
#
BakDir=/backup/mysql
LogFile=/backup/mysql/mysqlbak.log
DATE=`date +%Y%m%d`
echo ” ” >> $LogFile
echo ” ” >> $LogFile
echo “——————————————-” >> $LogFile
echo $(date +”%y-%m-%d %H:%M:%S”) >> $LogFile
echo “————————–” >> $LogFile
cd $BakDir
DumpFile=$DATE.sql
GZDumpFile=$DATE.sql.tgz
mysqldump –quick –all-databases –flush-logs
–delete-master-logs –lock-all-tables > $DumpFile
echo “Dump Done” >> $LogFile
tar czvf $GZDumpFile $DumpFile >> $LogFile 2>&1
echo “[$GZDumpFile]Backup Success!” >> $LogFile
rm -f $DumpFile
#delete previous daily backup files:采用增量备份的文件,如果完整备份后,则删除增量备份的文件.
cd $BakDir/daily
rm -f *
cd $BakDir
echo “Backup Done!”
echo “please Check $BakDir Directory!”
echo “copy it to your local disk or ftp to somewhere !!!”
ls -al $BakDir


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:使用mysqldump定时备份数据库的脚本_MySQL
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址