视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
ERROR126(HY000):Incorrectkeyfilefortable'/tmp/#sql__MySQL
2020-11-09 18:49:16 责编:小采
文档


bitsCN.com author:skate

time:2012/06/25

ERROR 126 (HY000): Incorrect key file for table '/tmp/#sql_1d87_0.MYI'; try to repair it

案例:

mysql> insert into t1 select * from t1;

^[[AQuery OK, 24576 rows affected (0.44 sec)

Records: 24576 Duplicates: 0 Warnings: 0

mysql> insert into t1 select * from t1;

Query OK, 49152 rows affected (1.90 sec)

Records: 49152 Duplicates: 0 Warnings: 0

mysql> insert into t1 select * from t1;

ERROR 126 (HY000): Incorrect key file for table '/tmp/#sql_1d87_0.MYI'; try to repair it

从上面的情况看,好似空间的问题,因为前几次insert都成功了,查看磁盘空间如下:

[root@localhost ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/mapper/VolGroup00-LogVol00

5.3G 5.0G 50M 100% /

/dev/sda1 99M 12M 83M 13% /boot

tmpfs 125M 0 125M 0% /dev/shm

/dev/sdb1 7.7G 183M 7.2G 3% /data

在查看mysql数据目录情况

mysql> show variables like '%dir%';

+-----------------------------------------+------------------------------------+

| Variable_name | Value |

+-----------------------------------------+------------------------------------+

| basedir | /usr/local/mysql |

| binlog_direct_non_transactional_updates | OFF |

| character_sets_dir | /usr/local/mysql/share/charsets/ |

| datadir | /usr/local/mysql/data/ |

| innodb_data_home_dir | /data/mysql/data |

| innodb_log_group_home_dir | /data/mysql/data |

| innodb_max_dirty_pages_pct | 75 |

| lc_messages_dir | /usr/local/mysql/share/ |

| plugin_dir | /usr/local/mysql/lib/mysql/plugin/ |

| slave_load_tmpdir | /tmp |

| tmpdir | /tmp |

+-----------------------------------------+------------------------------------+

11 rows in set (0.01 sec)

从上面看确实是空间满了,然后调整变量“tmpdir”和“slave_load_tmpdir”,然后重启mysql服务,结果就ok了

[mysqld]

...

tmpdir=/data/mysql

slave_load_tmpdir=/data/mysql

...

[root@localhost mysql]# support-files/mysql.server restart

Shutting down MySQL (Percona Server).....[ OK ]

Starting MySQL (Percona Server)...[ OK ]

[root@localhost mysql]# bin/mysql

Welcome to the MySQL monitor. Commands end with ; or /g.

Your MySQL connection id is 1

Server version: 5.5.24-log Source distribution

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '/h' for help. Type '/c' to clear the current input statement.

mysql> insert into t2 select * from t2;

ERROR 1046 (3D000): No database selected

mysql> use test;

Database changed

mysql> insert into t2 select * from t2;

Query OK, 98304 rows affected (4.48 sec)

Records: 98304 Duplicates: 0 Warnings: 0

这个就是我在改数据的目录时,忘记改这个变量值了。

----end----

bitsCN.com

下载本文
显示全文
专题