此文章主要介绍的是在MySQL数据库中的自动备份与MySQL数据库遭到破坏之后的恢复中建立数据库备份所需条件,其中包括对自动备份脚本的建立,MySQL数据库自动备份脚本的正确运行与数据库备份脚本每天自动运行。
[1] 建立自动备份脚本
在这里,为了使MySQL数据库备份和恢复的符合我们的实际要求,用一段符合要求的Shell脚本来实现整个备份过程的自动化。
[chinastor.com-root@CentOS ~]# vi mysql-backup.sh ← 建立数据库自动备份脚本,如下:
#!/bin/bash PATH=/usr/local/sbin:/usr/bin:/bin # The Directory of Backup BACKDIR=/backup/mysql # The Password of MySQL ROOTPASS=
此处请将星号替换成MySQL的root密码
# Remake the Directory of Backup rm -rf $BACKDIR mkdir -p $BACKDIR # Get the Name of Database DBLIST=`ls -p /var/lib/mysql | grep / | tr -d /` # Backup with Database for dbname in $DBLIST do mysqlhotcopy $dbname -u root -p $ROOTPASS $BACKDIR | logger -t mysqlhotcopy done
[2] 运行MySQL数据库自动备份脚本
[chinastor.com-root@CentOS ~]# chmod 700 mysql-backup.sh 改变脚本属性,让其只能让root用户执行
[chinastor.com-root@CentOS ~]# ./mysql-backup.sh 运行脚本
[chinastor.com-root@CentOS ~]# ls -l /backup/mysql/ 确认一下是否备份成功
total 8
drwxr-x--- 2 mysql mysql 4096 Sep 1 16:54 mysql 已成功备份到/backup/mysql目录中
[3] 让数据库备份脚本每天自动运行
[chinastor.com-root@sample ~]# crontab -e ← 编辑自动运行规则(然后会出现编辑窗口,操作同vi)
00 03 * * * /root/mysql-backup.sh 添加这一行到文件中,让数据库备份每天凌晨3点进行
测试自动备份正常运转与否(备份恢复的方法)
这里,以通过实际操作的过程来介绍问题出现后的恢复方法。