我在RedHat Enterprise Linux 4服务器上有一个MySQL InnoDB表,在尝试导入以前使用mysqldump
备份的数据库后,我得到了“表已满”错误。
该表当前有463,062行,磁盘上的ibdata1
文件目前为3.37Gb。快速“SHOW VARIABLES;
”表示innodb_data_file_path
设置为ibdata1:10M:autoextend
,文件系统为ext3,所以我希望它有足够的空间来增长。
我有什么想法可以确切地确定问题是什么?
答案 0 :(得分:16)
检查InnoDB数据文件存储的磁盘是否未满
答案 1 :(得分:3)
如果我是你,我会尝试实际设置innodb_data_file_path命令的最后一部分,即innodb_data_file_path ibdata1:10M:autoextend:max:3999M
不指定大数字有时可以将其默认为不可预测的数字。
不要太明显,但确保在更改配置后重新启动!
答案 2 :(得分:3)
我们在AWS上的CentOS上修复了完全相同的问题。与大多数帖子所指出的相反,可以通过在my.cnf文件中的[mysqld]部分下方添加来修复此问题:
innodb_data_file_path=ibdata1:10G:autoextend