mysql出现1033错误|mysql报错1033 Incorrect information in file: ‘xxx.frm’问题.处理办法

mysql出现1033错误|mysql报错1033 Incorrect information in file: ‘xxx.frm’问题.处理办法

    • 问题简介
    • 报错提示
    • 查找问题
    • 解决问题

问题简介

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

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

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

报错提示

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

2 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 因为没有备份,所以导致需要更小心谨慎去操作,以后要注意异地备份

原因:数据库中大部分表都是 MyISAM引擎的,而新建的表默认是用的InnoDB引擎,本来是没有问题的,用InnoDB也可以正常运行,查看了数据库的配置果然禁用了InnoDB引擎。所以导致打不开这个默认使用InnoDB引擎的表,开启InnoDB引擎后该表恢复正常。

mysql出现1033错误|mysql报错1033 Incorrect information in file: ‘xxx.frm’问题.处理办法_第1张图片

你可能感兴趣的:(Mysql,软件)