本文转自:http://www.cnblogs.com/dwzjs/archive/2011/04/25/2027687.html
Mysql备份策略大概可分为4种:
1) 直接拷贝数据库文件(不推荐)
2) 使用mysqlhotcopy备份数据库
3) 使用mysqldump备份数据库
4) 使用主从复制机制(replication)(实现数据库实时备份)
一般mysqldump使用比较广泛,操作也方便,下面就具体描述mysqldump备份策略。
数据备份分为三步:
1) 定时导出备份数据库并打包成gz压缩包 (Linux shell 脚本 + crontab)
mysqlFullBackup.sh
#!/bin/sh
# Use mysqldump --help get more detail.
#
# 定义变量,请根据具体情况修改
# 定义脚本目录
scriptsDir=`pwd`
# 定义用于备份数据库的用户名和密码
user=root
userPWD=123456
# 定义备份数据库名称
dbNames=(database1 database2 database3)
# 定义备份目录
dataBackupDir=/home/zhanghuihua/backup
# 定义邮件正文文件
eMailFile=$dataBackupDir/log/email.txt
# 定义邮件地址
eMail=Huihua.Zhang@quidos.co.uk
# 定义备份日志文件
logFile=$dataBackupDir/log/mysqlbackup.log
# DATE=`date -I`
DATE=`date -d "now" +%Y%m%d`
echo `date -d "now" "+%Y-%m-%d %H:%M:%S"` > $eMailFile
for dbName in ${dbNames
}
do
# 定义备份文件名
dumpFile=$dataBackupDir/db/$dbName-$DATE.sql.gz
# 使用mysqldump备份数据库,请根据具体情况设置参数
mysqldump -u$user -p$userPWD $dbName | gzip > $dumpFile
done
if [[ $? == 0 ]]; then
echo "DataBase Backup Success!" >> $eMailFile
else
echo "DataBase Backup Fail!" >> $emailFile
fi
# 写日志文件
echo "================================" >> $logFile
cat $eMailFile >> $logFile
echo $dumpFile >> $logFile
# 发送邮件通知
#cat $eMailFile | mail -s "MySQL Backup" $eMail
2) 通过ftp 服务定时下载到本地 (Linux shell 脚本 + crontab)
或从服务器上备份数据库到ftp 服务器 (Linux shell 脚本 + crontab)
ftpDownload.sh
#!/bin/bash
# 定义变量
DATE=`date -d "now" +%m%d%y`
ftpServer=192.168.1.103
ftpUser=zhanghuihua
ftpPasswd=123456
remoteDir=/backup/db
localDir=/home/zhanghuihua/backup
#开始ftp操作
/usr/bin/ftp -niv <<!
open $ftpServer
user $ftpUser $ftpPasswd
binary
cd $remoteDir
lcd $localDir
mget database1-$DATE.sql.gz
mget database2-$DATE.sql.gz
mget database3-$DATE.sql.gz
bye
!
dbPutToFtp.sh
#!/bin/bash
# 定义变量
DATE=`date -d "now" +%Y%m%d`
ftpServer=192.168.1.103
ftpUser=zhanghuihua
ftpPasswd=123456
remoteDir=/backup/db
localDir=/home/zhanghuihua/backup/db
#开始ftp操作
/usr/bin/ftp -niv <<!
open $ftpServer
user $ftpUser $ftpPasswd
binary
cd $remoteDir
lcd $localDir
mput database1-$DATE.sql.gz
mput database2-$DATE.sql.gz
mput database3-$DATE.sql.gz
bye
!
3) 定期刻录光盘 (人工操作)
3) 定期刻录光盘 (人工操作)
Crontab 定时任务管理
crontab -e
01 03 * * * /var/proftpd_data/backup/bin/mysqlFullBackup.sh
10 04 * * * /var/proftpd_data/backup/bin/ftpDownload.sh
前五个字段的整数取值范围及意义是:
0~59 表示分
1~23 表示小时
1~31 表示日
1~12 表示月份
0~6 表示星期(其中0表示星期日)
分享到:
相关推荐
### MySQL 数据库备份策略详解 #### 一、引言 在现代信息技术中,数据库作为存储和管理数据的核心组件,其安全性和可靠性至关重要。一旦数据库表出现丢失或损坏的情况,不仅可能导致业务中断,还可能造成不可估量的...
### MySQL数据库备份与恢复:深度解析与实践指南 在当今数据驱动的世界中,数据库的稳定性和数据的安全性显得尤为重要。MySQL作为全球最流行的开源关系型数据库管理系统之一,其备份和恢复策略是确保数据安全和系统...
### MySQL数据库备份策略和方法详解 #### 一、引言 在现代信息技术环境中,数据库作为存储和管理数据的核心工具,其稳定性和数据安全性至关重要。一旦出现数据丢失或损坏的情况,可能会给企业和组织带来不可估量的...
本压缩包"mysql数据库备份还原类.rar"提供了两个PHP类文件,dbback.class.php和upfile.class.php,它们可能用于实现MySQL数据库的自动备份和恢复功能。 1. **数据库备份**: - 备份原理:通常,MySQL数据库的备份...
C# MySQL数据库备份还原 C# MySQL数据库批量备份还原工具是使用C#语言开发的一个数据库备份还原工具,主要用于对MySQL数据库进行批量备份和还原操作。该工具使用了Process类来操作cmd.exe,调用mysqldump.exe来执行...
了解这些基本概念后,你可以查看压缩包内的`基于xtrabackup的MySQL数据库备份及还原Shell脚本`,这个脚本将详细展示如何结合`xtrabackup`和Shell来自动化MySQL数据库的备份与还原流程。在实际使用时,你需要根据自己...
离线备份是MySQL数据库备份策略中的一种有效方法,尤其适用于数据量较小或对备份时间窗口要求不严格的环境。通过使用简单的文件拷贝命令,我们可以在数据库运行时进行数据备份,从而最小化对业务的影响。然而,由于...
### 数据安全守护神:全面掌握 MySQL 数据库备份策略 #### 引言:备份的重要性 在当前数据驱动的商业环境中,数据库备份是确保数据安全和业务连续性的关键环节。特别是对于那些依赖于数据库来支撑核心业务流程的...
本文将详细介绍一个名为“mysql数据库备份程序”的工具,以及如何利用它来高效地备份MySQL数据库。 这个备份程序的核心文件是`bak.php`,它是一个PHP脚本,专门设计用于简化MySQL数据库的备份过程。PHP是一种广泛...
MySQL数据库安全策略研究 MySQL数据库安全策略是保护数据完整性和私密性的关键。以下是 MySQL 安全策略的研究总结: 账户权限安全 账户权限安全是 MySQL 安全的基础。 MySQL 中的账号可以分为两类:系统账号和...
实时备份是MySQL数据库备份策略中的一种有效方法,尤其适用于对数据安全性和业务连续性要求较高的场景。通过使用mysqldump、Percona XtraBackup或配置MySQL复制,我们可以在数据库运行时进行数据备份,从而最小化对...
虽然描述中没有提及这些特性,但理解这些概念有助于更好地管理和优化数据库备份策略。 总的来说,"Mysql数据库备份还原工具"是一个方便的解决方案,它降低了对MySQL数据库进行备份和还原的技术门槛。对于那些希望...
MySQL数据库是世界上最受欢迎的开源关系型数据库管理系统之一,其稳定性和高效性使其在各种规模的企业中得到广泛应用。在日常操作中,对数据库进行备份和恢复是保障数据安全、防止意外丢失的重要环节。本文将深入...
MySQL数据库是世界上最受欢迎的关系型数据库管理系统之一,广泛...在“mysql数据库备份批处理”中,这些细节都是需要考虑的关键知识点,通过优化和定制批处理脚本,我们可以构建一个可靠且高效的MySQL数据库备份策略。
5. **备份与恢复**:备份文件如"50183 MySQL数据库原理及应用(第2版)(微课版)-教学用数据库(Mysql数据库备份文件)",提供了数据库灾难恢复的能力。通过mysqldump工具,我们可以创建数据库的完整或增量备份,并...
MySQL数据库的备份与恢复是确保数据安全性的重要环节。在本测试报告中,主要涉及了全量备份和增量备份的恢复过程,并对恢复后的数据进行了验证。以下是对这些知识点的详细说明: 1. **全量备份**:全量备份是数据库...
本知识点将深入探讨如何在SpringBoot环境下对MySQL数据库进行备份与恢复,以确保数据的安全。 首先,`MysqlBackup.java` 文件很可能是实现备份和恢复功能的核心Java类。在SpringBoot中,我们可以利用JDBC(Java ...
"mysql数据库备份.rar"是一个压缩包文件,包含了用于备份MySQL数据库的PHP脚本,以及可能的配置文件和其他相关资源。 首先,我们需要理解数据库备份的基本概念。数据库备份通常涉及创建数据库的完整副本,包括表、...
MySQL数据库是广泛应用于...综上所述,"MySql数据库备份工具"结合了各种备份策略和技术,提供了全面的数据保护方案。通过合理利用这些功能,用户可以确保其MySQL数据库的安全,防止数据丢失,同时保持系统的高效运行。