请教一下备份粗略问题当前在线库做的备份设计如下
1 每天1次自动逻辑备份
某个文件夹保存3天最近备份数据    超过3天 系统自动删除  --------------这个可行吗
2 每天有增量备份日志

解决方案 »

  1.   

    1 每天1次自动逻辑备份
    这个用mysqldump 就行了。某个文件夹保存3天最近备份数据    超过3天 系统自动删除  --------------这个可行吗
    可行,UNIX上脚本很容易实现。2 每天有增量备份日志
    备份BINLOG文件
      

  2.   

    已经实现了脚本写得好复杂 还要检查show salve msster  
    用比较复杂的linux 命令来做 
    之后根据结果来判断当前复制环境 是否正常 
    如果不正常 发邮件给dba有时间贡献这些脚本 (shell搞复杂不是很容易的)#!/bin/bash
    # mysql全量备份脚本mkdir /backup
    cd /backup
    dateDIR=`date +"%y-%m-%d"`
    mkdir -p $dateDIR/data
    path=/usr/local/mysql/data
    for i in `mysql -uroot -p123456 -e "show databases" | grep -v "Database"`
    do
      mysqldump -uroot -p123456 --default-character-set=gbk --opt $i | gzip > /backup/$dateDIR/data/${i}_${dateDIR}.sql.gz
    donemysqladmin -uroot -p123456 flush-logs
    binlog_rm=`tail -n 1 $path/mysql-bin.index | sed 's/.\///'`
    mysql -uroot -p123456 -e "purge binary logs to '$binlog_rm'"
    #!/bin/bash
    # mysql增量备份脚本cd /backup
    dateDIR=`date +"%y-%m-%d"`
    mkdir -p $dateDIR/data
    path=/usr/local/mysql/data
    mysqladmin -uroot -p123456 flush-logs
    binlog_cp=`head -n -1 $path/mysql-bin.index | sed 's/.\///'`
    for i in $binlog_cp
    do
    mysql -uroot -p123456 -e "FLUSH TABLES WITH READ LOCK; \! cp -p $path/$i /backup/$dateDIR/data/;"
    donebinlog_rm=`tail -n 1 $path/mysql-bin.index | sed 's/.\///'`
    mysql -uroot -p123456 -e "purge binary logs to '$binlog_rm'"欢迎讨论  
      

  3.   

    困惑是否需要1周作一次全备份一月作一个全备份???? (参考网上大型oltp都是这样做的)
      

  4.   

    另外上面的脚本binlog_cp=`head -n -1 $path/mysql-bin.index | sed 's/.\///'`
    这里什么意思 head -n -1?(特别是-1)     sed 's/.\///'`??另外for i in $binlog_cp又是什么意思(for i in $binlog_cp
    dodone
    这个结构如何理解 ,为什么哟啊这样用
    这里$binlog_cp 是一个具体的数值 (唯一的),  
    既然是唯一, 为何还来个for循环 ?)
      

  5.   

    哪怕你一年做一次,也没人管你。关键是你用户能容忍的恢复时间(downtime) 是多久?
      

  6.   

    09 10 年 发生2次某个8万纪录的表
    错务的更新现在要知道 binlog增量备份可以做到只更新某个表吗??