数据库如何实现每天自动备份?

    作者:课课家教育更新于: 2019-08-05 18:54:13

    Linux下如何实现MySQL数据库每天定时自动备份,数据分析的数学基础在20世纪早期就已确立,但直到计算机的出现才使得实际操作成为可能,并使得数据分析得以推广。数据分析是数学与计算机科学相结合的产物。

    云计算的浪潮下,企业多将业务部署在云上。对于数据库中的数据,直接使用云数据库自带的备份功能实现备份,操作简单。但是云数据库备份数据的存储空间有限制,一旦超出存储量便自动关闭备份功能,运维人员往往也会忽略这个问题,如果这时遭遇系统故障,面临的就是数据丢失。

    数据库如何实现每天自动备份_数据库_数据分析_数据管理_课课家

     

    推荐一个运维工具——王教授,他可以帮助我们轻松解决这个“囧境”,不仅可以随时了解云资产的使用情况,还可及时提醒我们发现的问题并给出建议(例如:出现云数据库未开启备份策略、云数据库备份策略发生变化等),帮助我们及时发现云资源使用中潜在的风险。

    那么,检测到云数据库未开启备份后,我们怎么办呢?

    1. 增加云数据库的磁盘容量恢复云数据库自带的策略
    2. 使用MySQL自带的备份工具+ crontab 的方式来实现备份

    下面是小编总结在Linux系统下的MySQL数据库每天定时自动备份的配置步骤,希望对大家有帮助~

    1、查看磁盘挂载信息(选一个容量合适的)

    1. #df -h 

     

    2、创建备份目录

    为了方便,在/home保存备份文件;

    1. cd /home/game 
    2. mkdir backup 
    3. cd backup 

    3、创建备份Shell脚本

    1. vi bkDatabaseName.sh 

    PS:注意把以下命令中的DatabaseName换为实际的数据库名称;

    输入/粘贴以下内容:

    1. #!/bin/bash 
    2. mysqldump -uusername -ppassword DatabaseName > /home/dbback/DatabaseName_$(date +%Y%m%d_%H%M%S).sql 

    对备份进行压缩:

    1. #!/bin/bash 
    2. mysqldump -uusername -ppassword DatabaseName | gzip > /home/dbback/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz 

    注意:

    • 把username 替换为实际的用户名
    • 把password 替换为实际的密码
    • 把DatabaseName 替换为实际的数据库名

    4、添加可执行权限

    1. chmod u+x bkDatabaseName.sh 

    添加可执行权限之后先执行一下,看看脚本有没有错误,能不能正常使用;

    1. ./bkDatabaseName.sh 

    5、添加计划任务

    1)检测或安装crontab

    执行以下命令看是否安装有crontab

    1. crontab 

    如果错“command not found”,则表明没安装;如果没安装,先安装

    CentOS下使用yum命令安装计划任务程序crontab

    使用rpm命令从CentOS系统盘安装计划任务程序crontab

    2)添加计划任务

    1. crontab -e 

    输入以下内容并保存

    1. 1 0 * * * /home/backup/bkDatabaseName.sh 

    意思是每天凌晨执行一次bkDatabaseName.sh 脚本

    6、测试任务是否执行

    执行几次“ls”命令看下是否有文件创建就知道了。如果任务执行失败,看以下日志

    1. # tail -f /var/log/cron 

    输出类似如下

    我们使用SQL数据库其实就是使用很多表,数据库是由表组成的,而数据也是以表的形式展现出来的,表是列的集合也是信息数据的容器,很多表就构成了数据库。这篇文章讲解如何使用表组织数据,使数据库的结构完整性。下面我们采用个案例:建立学生数据库表来讲解如何创建数据库使用表组织数据。

课课家教育

未登录