我用的是mysql5.0.41版本的,INNODB,昨天有一个表的部分数据无缘无故就丢失了,我没有对这个数据库进行任何操作呀,而且没有给予用户修改和删除的权限,搞不清数据为什么就丢失了,而且丢失的只是一个用户的资料,其它的没有问题,真是好奇怪?

解决方案 »

  1.   

    检查一下你的日志。这种问题,如果只是这么问,是问不出结果的。别人很难猜中。检查你的 general log , error log , 如果有 bin-log 也可以看一下。问题的结果一定很简单,某个语句删除了这些记录。
      

  2.   

    这个问题是7日出现的,早上还没有问题,下午就出问题了,我查了一下日志,没有发现什么异常操作,都是诸如此类的提示,大家看看有什么问题
    090707  9:28:00  InnoDB: Error: page 2292 log sequence number 0 148132371
    InnoDB: is in the future! Current system log sequence number 0 5243973.
    InnoDB: Your database may be corrupt or you may have copied the InnoDB
    InnoDB: tablespace but not the InnoDB log files. See
    InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html
    InnoDB: for more information.
      

  3.   

    那个怎么查呀?只查了DATA文件下的winco-LST.err,其它的怎么查?
      

  4.   

    在DATA文件夹下应该还有一个  xxxx.log 是常规日志,但不知道你的日志功能有没有打开,没有打开的话,则没有这个文件。同样这个目录中还会有xxxx-bin.000xx 之类的二进制日志文件,但同样,只有在你的二进制日志功能打开的情况才会有。
      

  5.   

    你的数据库有问题,你是直接COPY的数据文件?
      

  6.   

    一堆记录了,分布在9个表中,salesquotation_header中有用户的ID号,其它的表通过客户编码进行连接。今天查找该表时对比发现该用户的数据比6日少了280条记录,其他的用户想等或增加。
      

  7.   

    如果你什么日志都没有,很难查了。99% 是由于你的某个SQL语句导致误删除(特别是如果你使用了外键 cascade delete的话)建议打开你的日志,这样下次类似问题出现的时候,可以进行分析判断。
      

  8.   

    http://dev.mysql.com/doc/refman/5.1/zh/database-administration.html#log-files
    5.11. MySQL日志文件
    5.11.1. 错误日志
    5.11.2. 通用查询日志
    5.11.3. 二进制日志
    5.11.4. 慢速查询日志
    5.11.5. 日志文件维护