mysql1033错误 InnoDB临时表空间报错

问题简介

1 数据库5.0无法打开innodb的表,只能打开mysam表

2 数据库5.0启动异常,无法正常启动

3 数据库5.0崩溃,无法正常备份,无法正常导入导出

报错提示

用mysql的时候出现1033-Incorrect information in file:“.数据库名表名.frm”

InnoDB: Error: unable to create temporary file; errno:

3 InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes    (本次故障未出现)
  InnoDB: than specified in the .cnf file 0 67108864 bytes!

查找问题

1 通过第一个报错观察,只有frm的表,无法查询,但是myisam表可以正常使用,推断出mysql引擎可能有问题

2 mysql没有正常启动,只用了mysql myisam引擎启动了,但是innodb引擎异常

3 查询mysql引擎 show engines;show variables like '%storage_engine%';相关 可以看到innodb状态为安装未启用disable

4 查询什么原因导致innodb异常

5 通过第二个报错,可以看出innodb表空间无法正常创建

6 查找innodb表空间位置,为C盘,C盘空间不是太多

7 修改配置文件innodb引擎临时表空间位置 tmpdir="D:mysqldata" 不要再C盘 重新启动mysql

8 修复后正常启动mysql,可以正常查询,但是无法正常提交相关,观察配置文件,innodb_force_recovery 需要关闭(这个参数是用来强制修复innodb损坏数据的,再没有备份的情况下不推荐使用)

解决问题

1 修改innodb临时表空间位置

2 查询innodb引擎是否正常

3 由于可能是磁盘空间满导致的问题,所以以后所有临时表空间不要放在C盘,实际上C盘空间并没有满,但是可能由于水位和释放问题,导致mysql临时表空间无法正常建立文件,有可能会导致日志和数据不一致等问题

4 修改配置文件临时表空间位置  重新启动

遇到新的问题

1 本次重启,发现32位windows系统 启动innodb buff 无法使用2G启动,暂时调小1G启动,解决释放本机内存,重启机器更换机器等等

2  InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes    
    InnoDB: than specified in the .cnf file 0 67108864 bytes!

    原来是日志文件的大小与描述的不一致。
    把log文件移走,再重启mysql,问题解决

    注意innodb_fast_shutdown不能为2    可以在mysql中用 show variables like '%innodb_fast_shutdown%';来查看  默认为1

3  因为没有备份,所以导致需要更小心谨慎去操作,以后要注意异地备份

 

原文地址:https://www.cnblogs.com/daizhengyang/p/10076705.html