事情是前些天发生的,解决起来资料挺多的,没遇到啥问题。问题1:是为什么MySQL掉电后基本都起不来,而简单的Acess数据库很少观察到这个现象?解决的问题过程中,发现大型数据Oracle, MSSQLServer,MySQL都有类似的问题,但是介绍失效的原因的就没有找到任何有用的信息了。因此,想知道背后的原因和机制是什么。问题2:通过什么样的设置、设计可以规避或者降低掉电后起不来这类恶性事故或者其发生概率?问题3:是否有现成的工具能够自动恢复故障状态,并且数据损失最小?

解决方案 »

  1.   

    1,是因为大型数据库需要考虑数据一致性,所以掉电的时候数据不一致了,需要做redo或者undo操作。2,设置事务数据强一致性,比如mysql设置comit参数为1、sync_binlog参数值为1等。3,这个一般都是收费的,而且也不能100%恢复了。
      

  2.   

    问题1:是为什么MySQL掉电后基本都起不来,而简单的Acess数据库很少观察到这个现象?解决的问题过程中,发现大型数据Oracle, MSSQLServer,MySQL都有类似的问题,但是介绍失效的原因的就没有找到任何有用的信息了。因此,想知道背后的原因和机制是什么。
    mysql的innodb很少有掉电起不来的问题2:通过什么样的设置、设计可以规避或者降低掉电后起不来这类恶性事故或者其发生概率?
    默认设置已经足够保证掉电能启动起来,只是损失数据多少的问题问题3:是否有现成的工具能够自动恢复故障状态,并且数据损失最小?
    损失数据越少 性能越差  要自己权衡
      

  3.   

    innodb_flush_log_at_trx_commit 与 sync_binlog 两个参数如果不为1的话,是可能会丢失数据的。如果为1会在一定程度影响性能,在性能与安全上,你自己把握吧!——远离 深圳市前海博纳斯科技有限公司 这家毫无信用欺诈工资的垃圾公司!
      

  4.   

    Acess数据库是单机的,而且最大只支持4G,不支持事务,在打开时会自动备份,在断电的时候正在写数据的可能性很少,所以很少发生损坏的情况。