MySQL数据库的自动备份与数据库被破坏后的恢复

来源:asp之家 时间:2010-03-18 15:30:00 

一、前言:

当数据库服务器建立好以后,我们首先要做的不是考虑要在这个支持数据库的服务器运行哪些受MySQL提携的程序,而是当数据库遭到破坏后,怎样安然恢复到最后一次正常的状态,使得数据的损失达到最小。

或者说,仅仅是数据库服务器的建立,只能说明它能做些什么,并不代表它能稳定的做些什么。灾难恢复的效率及全面性,也是系统的稳定性的一个准因素,尤其对于一个服务器系统。

这一节,介绍数据库自动备份以及数据库被破坏后的恢复的方法。在这里,我们使用mysqlhotcopy,并且定义一段Shell脚本来实现数据库的自动备份,并且,让整个数据自动备份与数据恢复过程都基于Shell。

建立数据库备份所需条件

[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点进行



标签:MySQL自动备份,恢复,MySQL恢复
0
投稿

猜你喜欢

  • mysql5在rhel5下乱码问题及解决方法

    2010-12-03 16:26:00
  • MySQL数据库性能优化的八大“妙手”

    2009-07-30 08:58:00
  • XML简易教程之二

    2008-09-05 17:19:00
  • 地图网站的需求功能与体验

    2009-03-01 11:15:00
  • 白鸦:Design IT. (1),迭代的设计

    2008-08-27 21:11:00
  • css网页下拉菜单制作方法(4):定位问题

    2007-02-03 11:39:00
  • SQL集合函数中case when then 使用技巧

    2011-09-30 11:54:59
  • 让IE8支持eWebEditor在线编辑器

    2010-02-28 10:36:00
  • 如何设计注册激活邮件

    2010-01-12 13:14:00
  • 浅析网页Transitional和Strict的文档声明的区别

    2009-02-17 12:45:00
  • ASP实现上传图片自动压缩图片大小

    2010-01-25 12:47:00
  • SQL Server元数据的管理与应用

    2009-03-16 14:24:00
  • 任意定制文本对齐方式:CSS Text Wrapper

    2008-02-03 11:11:00
  • SQL Server中导入导出数据的三种方式

    2008-11-28 15:53:00
  • 如何做好一份前端工程师的简历?

    2009-02-17 12:52:00
  • sql 存储过程分页代码 支持亿万庞大数据量

    2011-09-30 11:16:46
  • 跨浏览器的本地存储(二):DOM:Storage

    2008-08-15 13:39:00
  • 用XMLHTTP很好的一个例子

    2008-04-25 10:25:00
  • Ajax的错误处理机制探讨

    2007-09-07 09:53:00
  • 安装了Office2003补丁之后,access不能用,打不开了

    2011-05-12 12:19:00
  • asp之家 网络编程 m.aspxhome.com