看看MySQL备份足本的写法
![](/uploads/allimg/200930/202008271619308976816358.jpg)
【相关学习引荐: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备份足本的写法的具体内容,更多请关注百分百源码网其它相关文章!