百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> 看看MySQL备份足本的写法
分享文章到:

看看MySQL备份足本的写法

发布时间:09/01 来源:未知 浏览: 关键词:

【相关学习引荐:mysql教程】

前言:

数据库备份的重要性不问可知,特殊是在生产环境,任何数据的丧失都大概发生严峻的后果。所以,不管什么环境,我们都应当有响应的备份战略来按时备份数据库。在 MySQL 中,比力常用的逻辑备份工具是 mysqldump,本篇文章将介绍 MySQL 按时备份的办法。

1.拟定适宜的备份战略

关于不一样的数据库环境,我们应当思考不一样的备份战略。拟定备份战略时,应思考以下几点因素:

  • 物理备份还是逻辑备份。这个可以由数据库大小决议,比方说小于100G用逻辑备份,大于100G用物理备份。
  • 备份文件保存时间。这个可以由磁盘大小决议,一样至少保存7天。
  • 备份施行时间。一样放在业务低峰期,比方凌晨施行备份操纵。
  • 备份间隔时间。一样引荐一天一备,假如系统不太重要,备份间隔也可以延伸。
  • 可否有从库。有从库的话,引荐放在从库上备份,减小对主库的压力。

2.Linux系统备份足本

Linux 系统下,我们可以利用 crontab 按时任务来施行备份足本,假如你你对 crontab 还不理解,可以参照 以下介绍快速学习下。

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

格局:

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

第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
# -------------------------------------------------------------------------------
# FileName:  mysql_backup.sh 
# Describe:  Used for database backup
# Revision:  1.0
# Date:    2020/08/11
# Author:   wang

# 设定mysql的登录会员名和密码(按照实际状况填写)
mysql_user = "root"
mysql_password = "yourpassword"
mysql_host = "localhost"
mysql_port = "3306"
backup_dir = /data/mysql_backup

dt=date +'%Y%m%d_%H%M'
echo "Backup Begin Date:" $(date +"%Y-%m-%d %H:%M:%S")

# 备份全部数据库
mysqldump -h$mysql_host -P$mysql_port -u$mysql_user -p$mysql_password -R -E --all-databases --single-transaction > $backup_dir/mysql_backup_$dt.sql

find $backup_dir -mtime +7 -type f -name '*.sql' -exec rm -rf {} \;
echo "Backup Succeed Date:" $(date +"%Y-%m-%d %H:%M:%S")

以上足本可按照实际状况修改,比方备份某一个库、保存时间变动等等。足本写完后要留意调试,调试完成后就可以摆设了,比方我们打算每天凌晨2点停止备份,则可以这样设定按时任务。

# 留意足本施行权限及修改足本途径
00 02 * * * sh /root/scripts/mysql_backup.sh > /root/scripts/mysql_backup.log 2>&1

3.Windows系统备份足本

Windows 系统备份足本也是相似的,只不外变成了bat足本,需要设定方案任务来按时施行。比方我们可以在E盘下创立一个 MySQLdata_Bak 名目,此名目下创立 mysql_backup 名目存置备份文件,mysql_bak.bat 是备份足本,足本内容如下(主动删除7天前的备份文件):

rem auther:wang
rem date:20200811
rem ******MySQL backup start********
@echo off
forfiles /p "E:\MySQLdata_Bak\mysql_backup" /m backup_*.sql -d -7 /c "cmd /c del /f @path"
set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%0%time:~1,1%%time:~3,2%%time:~6,2%"
"E:\mysql5.7.23\bin\mysqldump" -uroot -p123456 -P3306 --default-character-set=utf8 -R -E --single-transaction --all-databases > "E:\MySQLdata_Bak\mysql_backup\backup_%Ymd%.sql"
@echo on
rem ******MySQL backup end********

以上足本仅供参照 ,可以按照本人的环境稍加改动。一样的,足本调试完成后就可以参加方案任务了,假如你对 Windows 方案任务还不理解,可以baidu下,也是比力利便简便的。

4.备份可用性校验

除了备份,非常重要的一件事情就是验证备份数据的可用性。想象一下,当你需要停止数据复原的时候,突然发明过去的备份数据都是无效的,那得有多难受。许多伴侣在写好备份足本加到按时任务后,只是检查下按时任务有施行,备份名目有文件就不再关注了,往往到了需要使用备份文件的时候才发明备份数据有问题。

当前关于备份文件的数据校验没有非常利便的方法,用的比力多的还是按时把备份文件拉出来做备份复原演练,例如一个月做一次备份复原演练就可以有效提高备份文件可用性,心里也扎实。

所以,千万不要认为有了备份就十拿九稳了,平常也要多检查备份足本施行可否准确,生产的备份足本内容可否可用,最好可以按期做复原演练。

相关学习引荐:编程视频

以上就是看看MySQL备份足本的写法的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有150人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板