【问题标题】:"MySQL Error Code 1114: The table is full" keeps showing up“MySQL 错误代码 1114:表已满”不断出现
【发布时间】:2021-07-14 11:35:13
【问题描述】:

我在 Windows server 2019 上运行 MySQL 8.0.23。 两张表:

CREATE TABLE `tblp` (
  `id` int unsigned NOT NULL AUTO_INCREMENT,
  `datum` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY (`id`),
  KEY `index_dat` (`datum`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

    CREATE TABLE `tblpdet` (
        `id` int unsigned NOT NULL,
        `katbr` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `redid` int unsigned NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`redid`),
  KEY `Index_2` (`id`),
  KEY `idx_katbr` (`katbr`),
  CONSTRAINT `FK_tblpdet_1` FOREIGN KEY (`id`) REFERENCES `tblp` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

现在,如果我执行:

select katbr, min(date(datum)) 
from tblp p 
join tblpdet d on p.id = d.id
group by katbr;

我收到错误

错误代码:1114。表 'd:\tmp#sql1e5c_18_1eb' 已满

如果我执行:

select katbr, min(redid)
from tblpdet 
group by katbr;

然后它就可以正常工作了。

结果应该返回大约 120.000 行。

以下是与此问题相关的全局设置:

> innodb_data_file_path=ibdata1:12M:autoextend
> innodb_buffer_pool_size=51539607552

表 tblp 有大约 5.800.000 行,而 tblpdet 有大约 43.000.000 行。 MySQL 的数据文件夹位于具有 800GB 可用空间的 SSD(镜像)驱动器上。 总内存为 128GB; 机器有 2 个处理器,总共 20 个内核,只运行 MySQL(目前)。

我阅读的所有内容都以“磁盘空间不足”或 innodg_data_file_path 配置错误而告终。有人帮忙吗?

【问题讨论】:

  • 您的 d: 驱动器上是否有足够的空间?您是否在 my.cnf 配置文件的 innodb_data_file_path 或 tmp_table_size 设置中设置了一些限制?
  • d: 上有 800GB 可用空间,tmp_file_size=7516192768。 “innodb_data_file_path 的限制”是什么意思?正如我提到的,innodb_data_file_path=ibdata1:12M:autoextend

标签: mysql


【解决方案1】:

第一次发帖,请善待。

我有一个类似的问题(错误代码:1114。表 '/tmp/#sql2cc_b_3e' 已满)通过排序和分组来选择和连接大型数据集。该问题存在于 8.0.24 但不是 8.0.22 或更早版本。

我通过将数据库从收到错误的 8.0.24 导出并导入到相同查询成功运行的 8.0.20 来测试这一点。然后我在没有将任何其他设置更改为 8.0.24 的情况下进行更新,并且相同的查询失败。我还完成了 8.0.24 的全新安装,也收到了错误。

【讨论】:

    猜你喜欢
    • 2019-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-18
    • 2010-10-18
    • 1970-01-01
    相关资源
    最近更新 更多