Linux系统下mysql数据库中,innodb类型的表,断电后之前的数据都没了,现在只能查到恢复供电之后的数据,请问如何恢复之前的数据?如果需要看日志的话怎么看?如何操作啊?

解决方案 »

  1.   

    innodb类型的表断电后数据不会丢,除非表损坏,表损坏后新数据怎么进来的
      

  2.   

    如果找不到数据了,并且你已经做了一些操作,则很难恢复了。 只能重新找到备份文件进行恢复。 估计是断电时导致操作系统文件损坏。而你的MYSQL在重启时无法正常打开IBDATA文件后,重新创建了新文件。检查一下你的MYSQL错误日志。
      

  3.   

    恩,楼上很有道理,看看你的my.cnf配置是否在运行的时候进行了改动。可能是IBDATA的一些相关信息做了改动例如自增长大小。导致重启的时没有加载IBDATA成功从而导致数据丢失。
      

  4.   

    个人感觉跟linux的磁盘缓存有关
    linux中数据操作一般都会在内存中操作,隔一段时间才会同步回硬盘,在这段时间内如果直接断电就会导致在内存中的数据没写回硬盘。执行sync可以手动同步回硬盘,可以尝试写一个crontab来保持高频同步,不过还是保证电源稳定来的更有效...