Linux下如何实现MySQL数据库每天定时自动备份

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

文章插图
 
推荐一个运维工具——王教授 , 他可以帮助我们轻松解决这个“囧境” , 不仅可以随时了解云资产的使用情况 , 还可及时提醒我们发现的问题并给出建议(例如:出现云数据库未开启备份策略、云数据库备份策略发生变化等) , 帮助我们及时发现云资源使用中潜在的风险 。
那么 , 检测到云数据库未开启备份后 , 我们怎么办呢?
  1. 增加云数据库的磁盘容量恢复云数据库自带的策略
  2. 使用MySQL自带的备份工具+ crontab 的方式来实现备份
下面是小编总结在linux系统下的MySQL数据库每天定时自动备份的配置步骤 , 希望对大家有帮助~
1、查看磁盘挂载信息(选一个容量合适的)
#df -h
Linux下如何实现MySQL数据库每天定时自动备份

文章插图
【Linux下如何实现MySQL数据库每天定时自动备份】 
2、创建备份目录
为了方便 , 在/home保存备份文件;
cd /home/gamemkdir backupcd backup3、创建备份Shell脚本
vi bkDatabaseName.shPS:注意把以下命令中的DatabaseName换为实际的数据库名称;
输入/粘贴以下内容:
#!/bin/bashmysqldump -uusername -ppassword DatabaseName > /home/dbback/DatabaseName_$(date +%Y%m%d_%H%M%S).sql对备份进行压缩:
#!/bin/bashmysqldump -uusername -ppassword DatabaseName | gzip > /home/dbback/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz注意:
  • 把username 替换为实际的用户名
  • 把password 替换为实际的密码
  • 把DatabaseName 替换为实际的数据库名
4、添加可执行权限
chmod u+x bkDatabaseName.sh添加可执行权限之后先执行一下 , 看看脚本有没有错误 , 能不能正常使用;
./bkDatabaseName.sh5、添加计划任务
1)检测或安装crontab
执行以下命令看是否安装有crontab
crontab如果错“command not found” , 则表明没安装;如果没安装 , 先安装
centos下使用yum命令安装计划任务程序crontab
使用rpm命令从CentOS系统盘安装计划任务程序crontab
2)添加计划任务
crontab -e输入以下内容并保存
1 0 * * * /home/backup/bkDatabaseName.sh意思是每天凌晨执行一次bkDatabaseName.sh 脚本
6、测试任务是否执行
执行几次“ls”命令看下是否有文件创建就知道了 。如果任务执行失败 , 看以下日志
# tail -f /var/log/cron输出类似如下
Linux下如何实现MySQL数据库每天定时自动备份

文章插图
 
网站崩溃找不到原因?平台搭建无从下手?热门技术不想落伍?想要变强找不到资料?
加入[IT拯救联盟] , 让大牛和同伴拯救你 , 带你装x带你飞 。定期干货分享、大牛专业解答、实用IT工具优选.....




    推荐阅读