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

來源:互聯網
上載者:User

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----

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.