Linux系统下数据库定时备份

先说一下做这个的原因,本人不小心删过数据库,还好当时在测试阶段,我有最初版本的数据库文件,但是中间在做的时候改了不少的地方,也是费了不少的功夫才搞好,正好就看一下Linux系统下数据库备份的知识:
数据库备份都是放到别的磁盘上面,但是我还是学生,只有一个腾讯云服务器,条件有限,只能采用最简单也是最不好的方法:备份到本地磁盘。

  1. 创建并进入备份目录:
    mkdir backup
    cd backup
    目录以及文件夹名随个人心意,放在哪里都无所谓
  2. 在当前目录创建shell脚本:vi bkMySQL.sh
    将MySQL改成你自己的数据库名字
  3. 在脚本里面输入以下内容:
#!/bin/bash 
mysqldump -uusername -ppassword DatabaseName > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql

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

在这里注意几点:

  • 将数据库连接的用户名密码(username、password)改成你自己的。
  • 数据库名字DatabaseName改成你要备份的那个数据库名字。
  • 下面两行代码是压缩文件的,可有可无。
  • -uusername 和-ppassword 一定要连在一起!!!我在命令行登录数据库的时候是中间有空格,就把这个习惯带到这边来了,造成我第一次数据备份的时候备份文件里面没有内容。

到这里shell脚本就已经写好了,下面开始设置脚本定时执行

  1. 首先授权:chmod u+x bkMySQL.sh
    u+x 是当前用户
  2. crontab -e(定时备份数据库需要用到crontab定时任务)
    如果报错command not found那就需要自己再装一下了,我的就是,系统特别干净,用什么都得自己再装
    我的Ubuntu系统的是执行apt-get install cron命令,有的是需要yum -y install vixie-cron我第一次试的这个不能用,系统就装上了,所以我就不清楚apt是不是要在yum的前提下才行,这个以后再查查资料吧。
    第一次运行crontab -e的时候会让你选择编辑器,我比较习惯vim(只用过这个)。。。。
  3. 输入*/1 * * * * /home/backup/bkMySQL.sh
    这里写图片描述
    保存退出
    具体的时间设置方法可以上网百度一下,很多种选择。
  4. 因为我设置的是一分钟执行一次,所以很快就能看到效果:
    这里写图片描述

到这里数据库定时备份的操作就完成了,改天再学一下数据库恢复的。

猜你喜欢

转载自blog.csdn.net/single_cong/article/details/81317254