我现在有个想法是按时间顺序记录一天或者一段时间的sql语句(update,delete,insert),select的可以不记录。
将这个文件中的sql在备份数据库上执行一遍,然后清空这个文件的内容!从而实现增量备份!这样会有个问题:就是对这个文件的读写需要加锁或者用单例模式!由于网速等等的原因可能导致一些不可预知的错误!
比如可能导致记录sql的这个文件的语句顺序出错!小弟在此扔块板砖!把你们的玉都拿出来吧!呵呵

解决方案 »

  1.   

    mysql 热备就是增量的备份.
      

  2.   

    先不说“增量备份”的事儿,你先部署一个 master/slave,不用考虑加锁,不用考虑单例,不用考虑网速,不用考虑语句顺序,你已经得到了一个实时的热备份。在这个基础上,你再想做什么备份都很自由 :)
      

  3.   

    这不就是主从同步嘛master会写binlog,slave会读binlog。配置一下就可以了,里面的具体逻辑不用你去考虑。
      

  4.   

    这种东西自己写, 在php层面写, 都是不现实的.更何况已有现成解决方案.
     还有,php的单例是不能解决这个情况下的并发问题的,因为php的单例只是一个php线程中的单例.
      

  5.   

        如果表不是很多,比如只有10个表以内,对所有有insert,update,delete的表,建立相关触发器,主表上insert一条,备表上也跟着增加一条,其他update,delete同理,让主/备表彼此一对一的相关联,但是表太多的话,这样手工建立太耗时间!
      

  6.   

        其实这个就是变相把PHP语句执行的方法转向MYSQL系统自己来做。毕竟我觉得触发器总比自己写PHP的SQL执行语句要强得多,最起码纠错的可能性要小很多!也不会受到语句和页面执行时间的影响,更重要的都是由MYSQL系统自动完成!不过MYSQL在这方面到底有没有比MSSQL更强悍就不知道了!使用效果也不太清楚。