我有一个相对较大(或至少不是很小)的数据集的客户端。磁盘上约2Gb左右。MySQL表完全(InnoDB) - 错误#1114
当运行这个数据库运行的CRM应用程序的报告功能,我们击中
Database Error Code: The table 'tablexyz' is full, Error 1114
这是令人费解的,有几个原因。第一是,它管理的决定中约3试图加载报告的页面的秒数。其他人是:
A)这是一个InnoDB表,所以没有明确的行限制为这样 (或我错了)..
B)这是一个x64系统上,使用x64? MySQL的安装,以便 一个InnoDB表的有效大小限制是文件系统的一个4TB的文件大小 .. LIMITE
C)的磁盘未满,它拥有大约700GB 可用。磁盘上的ibdata1文件为1.89Gb,ib日志文件为每个5Mb的 。
的MySQL 为我自己从源代码定制编译,因为客户要求的250自定义MAX_INDEXES值就我所知,这将会对这种情况没有影响。
为了解决这个问题,表格甚至不能正常存在......看起来这是在此报告运行期间在运行中创建的临时表。或者至少我认为它确实..在CRM应用程序的整个页面加载过程中,我是否可以在MySQL中找到该表。我不确定是否有更深的问题,我没有看到,它的红色鲱鱼,它告诉我它已满?想法欢迎。
任何想法查询正在运行? –
tmpdir的设置是什么?它指向一个“小”文件系统? –
嗨Rick,我认为tmpdir是在5.7中推出的?除非我在想别的事情。这个系统运行5.5。但是,除此之外,系统本身非常简单,只有一个/ mount,其中包含/ tmp/var等等。在回答你的第一个问题时,实际上不是,我不知道SQL是什么,因为它非常深刻嵌入到非常复杂的预构建CMS中。这很烦人。我很想说这是CMS的一个错误,但我宁愿先解决系统上的所有可能性。 –