我想在进行全备份的时候清除以前的binlog,请问mysqldump里面是否有这样的选项,是不是--flush-logs,谢谢。

解决方案 »

  1.   

    我现在是想这样做,每天做一次全备份,在备份的时候删除备份前的binlog,然后再备份以后重新生成binlog,这样能够节省空间。如果增量备份的话应该怎么做,也是使用mysqldump么?
      

  2.   

    --delete-master-logs参数貌似是可以删除binlog的,不知道有人测试过么?
      

  3.   

    一般是在MYSQL中执行命令 
    PURGE BINARY LOGS TO 'mysql-bin.010';
    PURGE BINARY LOGS BEFORE '2008-04-02 22:46:26';
      

  4.   

    这样是手工删除,如果需要自动删除呢,设置expire_logs_days参数倒是可以,但是不知道保险不。
    如果我这样做:
    1。每天全备
    2。binlog开启
    3。设置expire_logs_days=10这样当进行误操作的时候,是否能恢复到误操作前的状态。
      

  5.   

    可以,因为你已经当天的全备。加上当天的BINLOG就足够恢复了。不过,如果你的用户由于自己操作失误,如果请求你恢复1个月前的数据,则你就没办法了。
      

  6.   

    那我就只能保留全部备份和binlog了   那对磁盘空间要求高了点  或者我将一个月以前的备份转移到其他机器上 
      

  7.   

    还有个问题  如何使用mysqldump备份的时候直接压缩成tar。gz文件
      

  8.   


    一般是MYSQLDUMP产生SQL文件之后再由脚本ZIP或者RAR,或TAR。
      

  9.   

    我这样写:
    mysqldump --opt --add-drop-database -h hdc-tst-jira-db01 -B --routines jira20 --user=jira20 --password=jira20 -S /opt/mysql/mysql.sock | gzip > jira20_`date +%Y-%m-%d.%H:%M:%S`.tar.gz
    能够执行,但是解压却报错,不知道为什么?难道真的要我写个脚本先mysqldump,再tar,然后rm吗?
      

  10.   


    晕倒,。不能直接加后缀名的,mysqldump不支持生成tar压缩文件的,你加了后缀名也没用,当然不能解压了,要先dump成sql格式的文件,再用linux命令打包
      

  11.   


    你可以把mysqldump命令语句和打包语句一起写进脚本的,这样以后备份很方便
      

  12.   

    我就是准备写个sh脚本:
    1。mysqldump
    2。tar
    3。rm就是这样了。