!
也想出现在这里? 联系我们
广告位
当前位置:首页>教程分享>服务器教程>mysqldump+crontab定时备份mysql数据库,及恢复

mysqldump+crontab定时备份mysql数据库,及恢复

对于站长来说,数据库备份是必不可少的。备份就像买保险一样,平时不觉得有什么,但是一旦出现问题,绝对会成为你的救命稻草。整理了一个 mysql 数据库定时备份脚本,可以实现每天定时备份数据库,清理过期备份文件,备份日志等功能。

数据库的数据基本每天都会变化,所以一般每天都会备份一次数据。会用到 corntab 和 mysqldump 这两个工具。corntab 负责定时执行任务,mysqldump 负责将 mysql 数据备份到文件中。接下来咱就在香港vps主机上做一下演示

基于 mysqldump 的备份数据库的脚本

#!/bin/bashnumber=30 #保存备份个数backup_dir=/root/mysqlbackup #备份保存路径dd=`date +%Y%m%d%H%M%S` #日期格式tool=mysqldumpusername=root #用户名password=123456 #密码database_name=sample #将要备份的数据库名称$tool -u $username --default-character-set=utf8 -p$password $database_name > $backup_dir/$database_name-$dd-utf8.dump#写创建备份日志echo \"create $backup_dir/$database_name-$dd.dump\" >> $backup_dir/log.txt#找出需要删除的备份delfile=`ls -l -crt  $backup_dir/*.dump | awk \'{print $9 }\' | head -1`#判断现在的备份数量是否大于$numbercount=`ls -l -crt  $backup_dir/*.dump | awk \'{print $9 }\' | wc -l`if [ $count -gt $number ]    then        rm $delfile        echo \"delete $delfile\" >> $backup_dir/log.txtfi

以上脚本可以实现备份指定日期的数据库文件,超过一定日期的备份文件自动删除。还自带每日备份日志。需要根据自己的情况配置 mysql 用户名、密码、数据库名称、备份文件保存路径、保存备份文件数量。再将脚本保存为文件如/mysql_bakup.sh

通过 crontab 实现定时执行脚本

如每天晚上 10 点自动备份数据库,其中/mysql_bakup.sh 是 mysql 备份脚本。

执行 corntab -e,加入以下命令

0 22 * * * bash /mysql_bakup.sh

mysql 数据库恢复步骤

1 进入数据库
mysql -u root -p
2 创建数据库
create db_name;
3 恢复数据库,其中 mysql_bak.sql 是备份文件
source /mysql_bak.sql

给TA打赏
共{{data.count}}人
人已打赏
服务器教程

linux CentOS7系统挂载新增硬盘

2021-4-17 21:40:24

服务器教程

ASP实现https和http之间转化

2021-4-17 21:40:27

声明 本站上的部份代码及教程来源于互联网,仅供网友学习交流,若您喜欢本文可附上原文链接随意转载。无意侵害您的权益,请发送邮件至 [email protected] 或点击右侧 私信:吉吉国王 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索
OneEase