本帖最后由 libRA_kin 于 2009-12-13 14:43:58 编辑

解决方案 »

  1.   

    本地备份,很简单,直接定时执行 mysqldump 就行了。这个你可以参考一下官方文档中的这一段.http://dev.mysql.com/doc/refman/5.1/zh/database-administration.html#disaster-prevention
    5.9. 备份与恢复
    5.9.1. 数据库备份
    5.9.2. 示例用备份与恢复策略
    5.9.3. 自动恢复
      

  2.   

    再保存到异地,你可以在mysqldump 备份完成后,将这个备份文件 ftp 或者 copy 到远程服务器上去。
      

  3.   

    #!/bin/bash
    #This scripts is used for backup mysqldata
    DATADIR=/home/mysql
    MYSQLBIN=/www/mysql/bin
    MYSQLUSER=xxx
    MYSQLPWD=xxxx
    MYSQLDB=xxx
    UPLOADIP=192.168.100.120
    GZIP=/bin/gzip
    date=`/bin/date +%Y-%m-%d:%H-%M`
    DATETIME=`/bin/date +%Y-%m-%d\ %H:%M:%S`
    ftp()
    {
    echo
    echo "begin to upload file" 
    echo 
    ftp -i -n $UPLOADIP << _EOF_
    user xxxxx xxxxx 
    bin
    prompt
    lcd /home/mysql
    put $date.gz
    bye
    _EOF_
    }
    $MYSQLBIN/mysqldump -u$MYSQLUSER -p$MYSQLPWD --database $MYSQLDB --opt --master-data=2 | $GZIP > $DATADIR/${date}.gz
      if [ $? -eq 0 ]
      then
         echo "mysqldump succeed!" >> mysql.log
      else
         echo "mysqldump failed!" >> mysql.log 
      fi
    ftp
      if [ $? -eq 0 ]
      then
         echo "uploadfile succeed!" >> mysql.log
      else
         echo "uploadfile failed" >> mysql.log
      fi
    find $DATADIR -name "*.gz" -atime +7 -exec rm -rf {} \;
    echo "$DATETIME operate finished!" >> mysql.log
    echo
    exit
    给你参考一下吧!