Error number: MY-012737; Symbol: ER_IB_MSG_912; SQLSTATE: HY000
Message: %s
错误说明
ER_IB_MSG_912是MySQL中发生的错误消息。它指出正在操作的表超出了InnoDB数据文件的最大大小。该错误的消息和MySQL代码存储在“errmsg.sys”文件中,可以在“ / data / errmsg.sys”文件中找到。
常见案例
当表的大小超出了InnoDB数据文件的最大大小时,就会出现此错误消息。InnoDB数据文件的最大大小一般默认为4GB。如果表的大小超出了4GB,就会出现此错误。
解决方法
要解决此错误,首先必须将InnoDB数据文件的最大大小增加到大于表的大小,然后将表的索引重新构建为较小的索引。
要增加InnoDB数据文件的最大大小,首先必须创建新的my.cnf文件,该文件将在/etc目录中创建。然后,将以下指令添加到my.cnf文件中:
innodb_data_file_path = ibdata1:10M:autoextend
最后,重启MySQL服务器,使新的my.cnf文件生效。这将增加InnoDB数据文件的最大大小到指定限制。
然后,需要重新构建表的索引,以减小表的大小。重新构建索引有两种方法,一种是使用ALTER TABLE关键字,另一种是使用REPAIR TABLE关键字。
使用ALTER TABLE关键字重新构建表的索引,语法如下:
ALTER TABLE table_name ADD INDEX index_name (column_name);
使用REPAIR TABLE关键字重新构建表的索引,语法如下:
REPAIR TABLE table_name;
这样,就可以解决MySQL中ER_IB_MSG_912错误导致的问题。