• 技术文章 >数据库 >mysql教程

    MySQL在CentOS上执行自动备份

    angryTomangryTom2019-10-14 15:02:56转载743
    开发中我们常常有使用Svn或者Git来管理我们的代码或者是项目相关的文件,然而他们都有一个共同点就是:版本控制

    很多人会问为什么要使用Svn或者是Git,那么我会问:我相信你写的代码很好,但是有一天你修改了很多很多的Bug,但是突然想到以前的代码中有一个比较重要的算法你不小心覆盖掉了,这时候你应该怎么办?

    推荐 《mysql视频教程》

    或许你会告诉我你可以在修改这些代码之前备份一次当前修改的文件,或者是当前项目。

    但是时间久了你的机器上会有多少备份文件呢?

    如果有一天你的同事需要回滚到之前的代码看一下那时候Bug的原因,你会从你的机器上找到指定时间的文件发给他嘛?

    当然不是,我们有Svn或者是Git之后我们可以方便的看到文件之前的版本,还可以方便的对比。那么现在清楚了版本控制的重要性了。

    同样数据库也是这样,我们的系统99%都离不开数据库,因为我们总要把数据存储起来。

    那如果我们数据库被误删、被黑客入侵、被恶意修改怎么办?

    那么我们可以试着让我们的服务器自动来帮我们备份数据库的数据到指定位置,万一有一天我们的数据库不小心手抖了,我们还可以用备份下来的数据库脚本直接恢复。

    上脚本:

    # db username
    db_user="test"  
    # db password
    db_passwd="test"
    # db host
    db_host="121.201.5.216"
    # backup db name
    db_name="Alterem"  
    # the directory for story your backup file.  
    backup_dir="backup"  cd 
    # date format for backup file (dd-mm-yyyy)  
    time="$(date +"%Y-%m-%d-%H-%M-%S")"  
    # mysql, mysqldump and some other bin's path  
    MYSQL="/usr/local/mysql/bin/mysql"  
    MYSQLDUMP="/usr/local/mysql/bin/mysqldump"  
    GZIP="/bin/gzip"  
      
    $MYSQLDUMP -u $db_user -h $db_host -p$db_passwd $db_name | $GZIP -9 > "/data/backup/$backup_dir/$db_name"_"$time.gz"

    创建定时器

    crontab -e

    添加定时器

    # 每天凌晨 1 点 30 分 进行数据备份
    30  1  *  *  * /root/mysql-backup.sh

    重启定时器

    /etc/rc.d/init.d/crond restart

    cron解析

    # For details see man 4 crontabs
    # Example of job definition:
    # .---------------- minute (0 - 59)
    # |  .------------- hour (0 - 23)
    # |  |  .---------- day of month (1 - 31)
    # |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
    # |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
    # |  |  |  |  |
    # *  *  *  *  * user-name command to be executed复制代码

    在线Cron表达式生成器:http://cron.qqe2.com/

    以上就是MySQL在CentOS上执行自动备份的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:掘金,如有侵犯,请联系admin@php.cn删除
    专题推荐:mysql 定时任务
    上一篇:case when用法 下一篇:phpmyadmin怎么建表
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• navicat怎么导入mysql数据库• 怎样用php查询mysql数据库中的数据• php如何把mysql数据转成json格式• php连接mysql数据库中文乱码
    1/1

    PHP中文网