1033 incorrect information in file: './lxbd_db_00/t_longxibendi_info_00_1.frm'

一.问题描述

1.今天qa反映个问题。

mysqldump导入数据报错。

2.初步判断:

1.)磁盘损坏、文件系统损坏。

2.)表损坏。

3.)主从数据库版本不一致。

4.)配置有问题。


3.登录数据库,发现,该表是innodb表。

那么,用reapir,check 等,检查和修复是无济于事的。


mysql> check table lxbd_db_00.t_longxibendi_info_00_1;

+----------------------------+-------+----------+-------------------------------------------------------------------+
| Table                      | Op    | Msg_type | Msg_text                                                          |
+----------------------------+-------+----------+-------------------------------------------------------------------+
| lxbd_db_00.t_longxibendi_info_00_1 | check | Error    | Incorrect information in file: './lxbd_db_00/t_longxibendi_info_00_1.frm' | 
| lxbd_db_00.t_longxibendi_info_00_1 | check | error    | Corrupt                                                           | 
+----------------------------+-------+----------+-------------------------------------------------------------------+

二.问题定位

后来让qa打开错误日志。

发现报以下错误

libexec/mysqld: Can't create/write to file '/tmp/ibx3NNtE' (Errcode: 28)
120104 13:01:10  InnoDB: Error: unable to create temporary file; errno: 28


这样基本原因知道了,

mysql> show variables like '%tmp%';
+-------------------+----------+
| Variable_name     | Value    |
+-------------------+----------+
| max_tmp_tables    | 32       | 
| slave_load_tmpdir | /tmp/    | 
| tmp_table_size    | 33554432 | 
| tmpdir            | /tmp/    | 
+-------------------+----------+

三.问题解决

qa没有配置tmpdir,但是mysql默认使用/tmp作为 tmpdir的目录。

但是/tmp 挂载到 /root

$ df -h /tmp
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2             8.7G  7.2G  1.5G  83% /

大量mysqldump导入数据,导致tmp空间不够用。故而报错。


让qa重新配置tmp,这样启动mysql。问题解决。


四.总结

如果连innodb 的表 执行 check table  也报错,特别是标题中的错误。那么

注意查看tmpdir  的配置目录。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值