Heim > Datenbank > MySQL-Tutorial > MySQL数据库的自动备份与数据库被破坏后的恢复1

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

WBOY
Freigeben: 2016-05-31 08:47:06
Original
1014 Leute haben es durchsucht

一、前言:

当数据库服务器建立好以后,我们首先要做的不是考虑要在这个支持数据库的服务器运行哪些受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点进行
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage