现在的位置: 首页 > IT运维 > 正文

MySQL数据库的自动备份

2011年03月31日 IT运维 ⁄ 共 1026字 暂无评论 ⁄ 被围观 2+

MySQL数据库中的数据都是非常重要的数据信息,是要告诉保密的,一旦丢失,将会造成很大的损失,所以数据备份是MySQL数据库操作过程中最为重要的环节,下文中就为大家介绍MySQL数据库的自动备份。

建立数据库备份所需条件

[1] 建立自动备份脚本

在这里,为了使数据库备份和恢复的符合我们的实际要求,用一段符合要求的Shell脚本来实现整个备份过程的自动化。

[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] 运行数据库自动备份脚本

[root@CentOS ~]# chmod 700 mysql-backup.sh  改变脚本属性,让其只能让root用户执行

[root@CentOS ~]# ./mysql-backup.sh   运行脚本

[root@CentOS ~]# ls -l /backup/mysql/   确认一下是否备份成功

total 8

drwxr-x--- 2 mysql mysql 4096 Sep 1 16:54 mysql   已成功备份到/backup/mysql目录中

[3] 让数据库备份脚本每天自动运行

[root@sample ~]# crontab -e  ← 编辑自动运行规则(然后会出现编辑窗口,操作同vi)

00 03 * * * /root/mysql-backup.sh   添加这一行到文件中,让数据库备份每天凌晨3点进行

最后再测试数据库自动备份是否能够正常运行,如果能够正常运行就说明数据库自动备份完成,若不能,可能是中间那个环节出错啦,返回去,重新做一遍。希望上文中涉及到的内容对大家能够有所帮助。

 

给我留言

您必须 [ 登录 ] 才能发表留言!

×
#