3月10日中午把Mysql数据库主机进行了重启,重启后发现mysql服务没有自动起来,当时没在意,随手做了启动,正常起来。起来后一打开应用,提示一张表不存在(该表早上修改过表结构),网上找了个方法,先drop掉表,再把data目录对应frm和ibd文件移除,再重建表导入数据,成功。但是一使用应用,发现数据居然回退到了1个多礼拜前(后来核对了下数据情况,发现是与上次mysql库重启的时间点重合)。以前也做过重启,从没碰到过这个问题,各位大神有没碰到过或者提供这个问题分析思路的,求解!
后来自己也思考过上次重启到现在做过哪些变动,唯一做的是在上次重启时,加了mysqlbackup工具的自动备份,难道是这个引起???
以下是备份的主要命令:
mysqlbackup.exe --user=backup --password=backup --host=127.0.0.1 --port=3491 --backup-dir="%bakhome%\%Ymd%" --backup-image="%bakhome%\%Ymd%\%Ymd%"_dat --slave-info --skip-relaylog --skip-messages-logdir --no-history-logging backup-to-image >> "%Ymd%".log 2>&1
以下是mysql运行环境信息:
操作系统: Windows7
mysql版本:
Your MySQL connection id is 4
Server version: 5.6.21-log MySQL Community Server (GPL)
mysql配置文件为最基础的一些配置,没开binlog

解决方案 »

  1.   


    1 表不存在和修改过表结构有什么关系 
    2 表不存在怎么drop掉表的
    3 既然drop掉表  为什么换要手动删除frm和idb
    还能自动回滚数据?
      

  2.   


    1 表不存在和修改过表结构有什么关系 
    2 表不存在怎么drop掉表的
    3 既然drop掉表  为什么换要手动删除frm和idb
    还能自动回滚数据?
    对于1、2、3其实这张表当时在系统中是能看到的,但是访问就会报错,提示[Err] 1146 - Table 'northcerp.ba_shop' doesn't exist,所以当时只以为这张表出问题,就用上面的方法重建和导入了数据。
    对于自动回滚数据,确实是发生了,这也是现在最困扰的,因为原因不知道,害怕下次再出这个鬼问题,我们是企业内erp,使用的还是非常频繁的,所以请大神们看看什么情况下会出这种幺蛾子?
    跟以前比,数据库唯一加的就是上面mysqlback的自动备份脚本,这个确实也刚是数据回退到的时间点上增加和执行的,但按理不可能会自动回滚啊
      

  3.   

    看看 msql 日志有没有什么有用的信息
    如果有开 binlog, 核对一下 binlog 的内容
      

  4.   

    日志看过,没发现有用的信息
    binlog前面说了,没开所以也导致丢了半天的业务数据不能恢复