码迷,mamicode.com
首页 > 数据库 > 详细

简单备份MySQL数据库

时间:2018-12-26 20:08:07      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:服务器   任务   一个   base   rect   接受   bin   定时   选择   

本文链接:https://blog.inchm.cn/default/44.html

说是备份MySQL数据库,其实也适用于它的胞弟MariaDB。

备份

创建备份脚本

创建一个备份脚本:

#!/bin/sh

#把要备份的数据库dump出来,压缩后存放。路径不要有空格
mysqldump -uusername -ppassword your_database_name | gzip > /path/of/backup/directory/your_database_name+_%Y-%m-%d_%H%M%S.sql.gz

#删除旧的备份,我这里是删除60天以前的。不要漏掉反斜杠和分号。路径别写错
find /path/of/backup/directory -name "*.sql.gz" -mtime +60 -exec rm -f "{}" \;

创建定任务

然后用crontab定时任务,定时执行这个脚本(脚本要有执行权限)。可以在终端直接crontab -e,这样调起一个用户定时任务(如果要系统定时任务的话需要root权限修改/etc/crontab,不建议)。键入内容:

59 23 */3 * * /path/of/backup/script

意为:每隔三天,在23:59时执行指定脚本。格式为:

每小时第几分钟 每天第几个小时 每月几号 每年第几个月 每星期第几天 脚本或命令

这样搭配起来,每三天备份一次,保留60天内的备份,那么也就大约20个备份,我的服务器能接受。

还原

还原是手动的。

还原的时候,选择需要还原的版本,解压得到.sql后缀的SQL脚本文件。然后在数据库管理软件中加载并运行脚本就可以了。

需要注意的是,由于这个备份脚本不包含创建库(database)的语句,因此你得首先确保库是存在的(有没有表或有没有数据都可以),否则将无法选中库(database)。

简单备份MySQL数据库

标签:服务器   任务   一个   base   rect   接受   bin   定时   选择   

原文地址:https://www.cnblogs.com/alanabc/p/10180679.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!