使用MySQL如何实现备份脚本

  介绍

使用MySQL如何实现备份脚本?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

<强>前言:

数据库备份的重要性不言而喻,特别是在生产环境,任何数据的丢失都可能产生严重的后果。所以,无论什么环境,我们都应该有相应的备份策略来定时备份数据库。在MySQL中,比较常用的逻辑备份工具是,mysqldump,本篇文章将介绍MySQL定时备份的方法。

<强> 1。制定合适的备份策略

对于不同的数据库环境,我们应该考虑不同的备份策略。制定备份策略时,应考虑以下几点因素:

    <李>物理备份还是逻辑备份。这个可以由数据库大小决定,比如说小于100克用逻辑备份,大于100克用物理备份。 <李>备份文件保留时间。这个可以由磁盘大小决定,一般至少保留7天。 <李>备份执行时间。一般放在业务低峰期,比如凌晨执行备份操作。 <李>备份间隔时间。一般推荐一天一备,如果系统不太重要,备份间隔也可以延长。 <李>是否有从库。有从库的话,推荐放在从库上备份,减小对主库的压力。
      李,

<强> 2。Linux系统备份脚本

Linux系统下,我们可以利用crontab定时任务来执行备份脚本,如果你你对crontab还不了解,可以参考以下介绍快速学习下。

crontab是一个命令,常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。

格式:

* * * * *命令
分时日月周命令

第1列表示分钟1 ~ 59岁每分钟用*或者*/1表示
第2列表示小时1 ~ 23(0表示0点)
第3列表示日期1 ~ 31日
第4列表示月份1 ~ 12
第5列标识号星期0 ~ 6(0表示星期天)
第6列要运行的命令

crontab - e编辑该用户下的定时任务设置
crontab - l列出该用户下的所有定时任务

下面我们来正式书写备份脚本,废话不多说,先给出脚本模板:

# !/bin/bash   # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -   #文件名:mysql_backup.sh   描述:用于数据库备份   修订号:1.0   #日期:2020/08/11   #作者:王      #设置mysql的登录用户名和密码(根据实际情况填写)   mysql_user=皉oot"   mysql_password=皔ourpassword"   mysql_host=發ocalhost"   mysql_port=?306”;   backup_dir=/数据/mysql_backup      dt=日期+ & # 39;% Y % m % d_ % H %猴# 39;   回声“备份开始日期:“美元(日期+“Y % - % - % d % H: % m: % S")      #备份全部数据库   ,mysqldump - h mysql_host - p mysql_port美元- u mysql_user - p mysql_password美元- r - e——所有数据库单独的事务比;backup_dir/mysql_backup_ dt.sql美元      发现美元backup_dir -mtime + 7 - type f - name & # 39; * . sql # 39;rm - rf {} \;   回声“备份成功日期:“美元(日期+“Y % - % - % d % H: % m: % S")

以上脚本可根据实际情况修改,比如备份某一个库,保留时间变更等等。脚本写完后要注意调试,调试完成后就可以部署了,比如我们打算每天凌晨2点进行备份,则可以这样设置定时任务。

 #注意脚本执行权限及修改脚本路径
  00 02 * * * sh/root/scripts/mysql_backup。上海比;/root/scripts/mysql_backup。日志2祝辞,1 

, <强> 3。Windows系统备份脚本

Windows系统备份脚本也是类似的,只不过变成了蝙蝠脚本,需要设置计划任务来定时执行。比如我们可以在E盘下创建一个MySQLdata_Bak目录,此目录下创建mysql_backup目录存放备份文件,mysql_bak。蝙蝠是备份脚本,脚本内容如下(自动删除7天前的备份文件):

快速眼动作者:王
  rem日期:20200811
  快速眼动* * * * * * MySQL备份开始* * * * * * * *
  @echo掉
  forfiles/p, E: \ MySQLdata_Bak \ mysql_backup"/m backup_ *。sql - 7/c“cmd/c del/f @path"
  设置“Ymd=%日期:~ 0,4% %日期:2% %日期:~ 8日~ 5日时间:2% - 0% ~ 1 1% %时间:~ 3,2% %时间:~ 6,“2%;
  “E: \ mysql5.7.23 \ bin \ mysqldump"-uroot -p123456 -P3306——default-character-set=utf8 - r - e——单独的事务——所有数据库比;“E: \ MySQLdata_Bak \ mysql_backup \ backup_ % Ymd % .sql"
  @echo>关于使用MySQL如何实现备份脚本问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

使用MySQL如何实现备份脚本