mysql数据库定时操作_MySQL数据库定时备份实操

本文实例讲述了MySQL定时备份数据库操作。分享给大家供大家参考,具体如下:

1. 查看mysqldump

1 root@laowang:/# which mysqldump

2 /usr/bin/mysqldump

2. 编写脚本

编辑my.cnf文件, 指定账号与密码, 然后在脚本中引用

1 root@laowang:/# vim /etc/my.cnf

2

3 [mysqldump]

4 user=root

5 password=root

脚本文件

1 root@laowang:/var/backups# vim mysql_backup.sh

2 #!/bin/sh

3 #################################################

4 # 备份数据库

5 #################################################

6 #mysqldump备份程序执行路径

7 DUMP=/usr/bin/mysqldump

8 #备份文件存放路径

9 OUT_DIR=/var/database

10 #备份文件所属权限

11 LINUX_USER=root

12 #要备份的数据库名字

13 DB_NAME=laowang

14 #备份的天数,之前的删除

15 DAYS=1

16

17 #进入备份存放目录

18 cd $OUT_DIR

19 #获取当前系统时间

20 DATE=`date +%Y_%m_%d`

21 #备份数据库的文件名

22 OUT_SQL=$DB_NAME"_$DATE.sql"

23 #最终保存的数据库备份文件名

24 TAR_SQL=$DB_NAME"_$DATE.tar.gz"

25 #开始执行备份数据库

26 $DUMP --defaults-extra-file=/etc/my.cnf --default-character-set=utf8 $DB_NAME > $OUT_SQL

27

28 #压缩为.tar.gz格式

29 tar -czf $TAR_SQL ./$OUT_SQL

30 #删除.sql格式的备份文件

31 rm $OUT_SQL

32 #更改备份数据库文件的所有者

33 chown $LINUX_USER:$LINUX_USER $OUT_DIR/$TAR_SQL

34 #删除30天前的备份文件(注意:{} \;中间有空格)

35 find $OUT_DIR -name "*.tar.gz" -type f -mtime +$DAYS -exec rm -f {} \;

3. 定时计划

1 root@laowang:/# crontab -e

2 # m h dom mon dow command

3 10 10 * * * /var/backups/mysql_backup.sh

ctrl+X 退出

y 保存修改

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值