`

mysql数据库备份策略【转】

阅读更多
本文转自: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作为全球最流行的开源关系型数据库管理系统之一,其备份和恢复策略是确保数据安全和系统...

      mysql数据库备份策略和方法

      ### MySQL数据库备份策略和方法详解 #### 一、引言 在现代信息技术环境中,数据库作为存储和管理数据的核心工具,其稳定性和数据安全性至关重要。一旦出现数据丢失或损坏的情况,可能会给企业和组织带来不可估量的...

      mysql数据库备份还原类.rar

      本压缩包"mysql数据库备份还原类.rar"提供了两个PHP类文件,dbback.class.php和upfile.class.php,它们可能用于实现MySQL数据库的自动备份和恢复功能。 1. **数据库备份**: - 备份原理:通常,MySQL数据库的备份...

      C# MySQL数据库备份还原

      C# MySQL数据库备份还原 C# MySQL数据库批量备份还原工具是使用C#语言开发的一个数据库备份还原工具,主要用于对MySQL数据库进行批量备份和还原操作。该工具使用了Process类来操作cmd.exe,调用mysqldump.exe来执行...

      基于xtrabackup的MySQL数据库备份及还原Shell脚本.zip

      了解这些基本概念后,你可以查看压缩包内的`基于xtrabackup的MySQL数据库备份及还原Shell脚本`,这个脚本将详细展示如何结合`xtrabackup`和Shell来自动化MySQL数据库的备份与还原流程。在实际使用时,你需要根据自己...

      MySQL数据库离线备份策略与实践

      离线备份是MySQL数据库备份策略中的一种有效方法,尤其适用于数据量较小或对备份时间窗口要求不严格的环境。通过使用简单的文件拷贝命令,我们可以在数据库运行时进行数据备份,从而最小化对业务的影响。然而,由于...

      数据安全守护神:全面掌握MySQL数据库备份策略

      ### 数据安全守护神:全面掌握 MySQL 数据库备份策略 #### 引言:备份的重要性 在当前数据驱动的商业环境中,数据库备份是确保数据安全和业务连续性的关键环节。特别是对于那些依赖于数据库来支撑核心业务流程的...

      mysql数据库备份程序

      本文将详细介绍一个名为“mysql数据库备份程序”的工具,以及如何利用它来高效地备份MySQL数据库。 这个备份程序的核心文件是`bak.php`,它是一个PHP脚本,专门设计用于简化MySQL数据库的备份过程。PHP是一种广泛...

      MySQL数据库安全策略研究

      MySQL数据库安全策略研究 MySQL数据库安全策略是保护数据完整性和私密性的关键。以下是 MySQL 安全策略的研究总结: 账户权限安全 账户权限安全是 MySQL 安全的基础。 MySQL 中的账号可以分为两类:系统账号和...

      MySQL数据库实时备份策略与实践

      实时备份是MySQL数据库备份策略中的一种有效方法,尤其适用于对数据安全性和业务连续性要求较高的场景。通过使用mysqldump、Percona XtraBackup或配置MySQL复制,我们可以在数据库运行时进行数据备份,从而最小化对...

      Mysql数据库备份还原工具

      虽然描述中没有提及这些特性,但理解这些概念有助于更好地管理和优化数据库备份策略。 总的来说,"Mysql数据库备份还原工具"是一个方便的解决方案,它降低了对MySQL数据库进行备份和还原的技术门槛。对于那些希望...

      mysql数据库备份和恢复工具

      MySQL数据库是世界上最受欢迎的开源关系型数据库管理系统之一,其稳定性和高效性使其在各种规模的企业中得到广泛应用。在日常操作中,对数据库进行备份和恢复是保障数据安全、防止意外丢失的重要环节。本文将深入...

      mysql数据库备份批处理

      MySQL数据库是世界上最受欢迎的关系型数据库管理系统之一,广泛...在“mysql数据库备份批处理”中,这些细节都是需要考虑的关键知识点,通过优化和定制批处理脚本,我们可以构建一个可靠且高效的MySQL数据库备份策略。

      MySQL数据库原理及应用(第2版)(微课版)-教学用数据库(Mysql数据库备份文件).zip

      5. **备份与恢复**:备份文件如"50183 MySQL数据库原理及应用(第2版)(微课版)-教学用数据库(Mysql数据库备份文件)",提供了数据库灾难恢复的能力。通过mysqldump工具,我们可以创建数据库的完整或增量备份,并...

      Mysql数据库备份恢复测试报告-xtrabackup.docx

      MySQL数据库的备份与恢复是确保数据安全性的重要环节。在本测试报告中,主要涉及了全量备份和增量备份的恢复过程,并对恢复后的数据进行了验证。以下是对这些知识点的详细说明: 1. **全量备份**:全量备份是数据库...

      mysql数据库备份与恢复

      本知识点将深入探讨如何在SpringBoot环境下对MySQL数据库进行备份与恢复,以确保数据的安全。 首先,`MysqlBackup.java` 文件很可能是实现备份和恢复功能的核心Java类。在SpringBoot中,我们可以利用JDBC(Java ...

      mysql数据库备份.rar

      "mysql数据库备份.rar"是一个压缩包文件,包含了用于备份MySQL数据库的PHP脚本,以及可能的配置文件和其他相关资源。 首先,我们需要理解数据库备份的基本概念。数据库备份通常涉及创建数据库的完整副本,包括表、...

      MySql数据库备份工具

      MySQL数据库是广泛应用于...综上所述,"MySql数据库备份工具"结合了各种备份策略和技术,提供了全面的数据保护方案。通过合理利用这些功能,用户可以确保其MySQL数据库的安全,防止数据丢失,同时保持系统的高效运行。

    Global site tag (gtag.js) - Google Analytics