mysql – ERROR 1114(HY000):表’XXX’已满

前端之家收集整理的这篇文章主要介绍了mysql – ERROR 1114(HY000):表’XXX’已满前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我知道之前曾问过这个问题,但似乎没有任何帮助.

我在2 – 3天前遇到过这个问题,询问服务器支持,他们告诉我,我必须将mysql从/ var移动到/ home所有的磁盘空间,这就是我所做的.然后我运行我的插入,一切都很顺利,直到今天我完成数据的插入,我想在我的表中添加索引,当我在2分钟后运行ALTER查询时,我得到了这个错误.

我在my.cnf中放了innodb_file_per_table = 1并重新启动了MysqL,但没有用.

目前我们正在另一台服务器上运行,其中所有数据都很好,并且MysqL运行良好,数据库表大约250GB,我检查了该服务器上比较2台服务器的设置,似乎没有什么不同我.

编辑:
显示表状态如’whois_main’

Name        Engine  Version Row_format  Rows        Avg_row_length  Data_length     Max_data_length     Index_length    Data_free   Auto_increment  Create_time             Update_time     Check_time  Collation         Checksum  Create_options  Comment     
whois_main  InnoDB  10      Compact     140859771   694             97812217856     0                   6618562560      6291456     191781518       2014-02-13 16:45:16     NULL            NULL        utf8_general_ci   NULL

在工作服务器上:

Name        Engine  Version Row_format  Rows        Avg_row_length  Data_length     Max_data_length     Index_length    Data_free   Auto_increment  Create_time             Update_time     Check_time  Collation         Checksum  Create_options  Comment     
whois_main  InnoDB  10      Compact     140472243   694             97812217856     0                   6618562560      6291456     191781518       2013-11-19 15:39:38     NULL            NULL        utf8_general_ci   NULL
最佳答案
问题来自MysqL,使用/ var / tmp作为tmpdir,这不足以复制表并创建所需的索引.我通过将tmpdir位置更改为包含更多空间的位置来修复它.

首先我创建了/ home / MysqL / tmp目录

  mkdir /home/MysqL/tmp

然后我将该目录的所有者更改为MysqLMysqL

  chown MysqL:MysqL /home/MysqL/tmp

然后我停止了MysqL服务器

  service MysqL stop

然后使用以下命令再次启动它:

  service MysqL start --tmpdir=/home/MysqL/tmp

猜你在找的MySQL相关文章