Mysql中innodb类型的,断电造成的数据丢失如何恢复
Linux系统下mysql数据库中,innodb类型的表,断电后之前的数据都没了,现在只能查到恢复供电之后的数据,请问如何恢复之前的数据?
如果需要看日志的话怎么看?如何操作啊?
------解决方案--------------------innodb类型的表断电后数据不会丢,除非表损坏,表损坏后新数据怎么进来的
------解决方案--------------------看错误日志有什么信息没
------解决方案--------------------如果找不到数据了,并且你已经做了一些操作,则很难恢复了。 只能重新找到备份文件进行恢复。 估计是断电时导致操作系统文件损坏。而你的MYSQL在重启时无法正常打开IBDATA文件后,重新创建了新文件。
检查一下你的MYSQL错误日志。
------解决方案--------------------恩,楼上很有道理,看看你的my.cnf配置是否在运行的时候进行了改动。可能是IBDATA的一些相关信息做了改动例如自增长大小。导致重启的时没有加载IBDATA成功从而导致数据丢失。
------解决方案--------------------个人感觉跟linux的磁盘缓存有关
linux中数据操作一般都会在内存中操作,隔一段时间才会同步回硬盘,在这段时间内如果直接断电就会导致在内存中的数据没写回硬盘。执行sync可以手动同步回硬盘,可以尝试写一个crontab来保持高频同步,不过还是保证电源稳定来的更有效...