mysql返回#1114 – The table ‘xxxx’is full解决方法

发现执行mysql的 REPLACE INTO 的时候mysql返回 #1114 – The table ‘xxxx’ is full
这个错误。

以前没有遇到过,于是查找资料解决这个问题。得知是由于内存表的大小超过了规定的范围,于是搜索解决方法,网上提到的有两种解决方法,

一种是修改 my-innodb-heavy-4G.ini文件里的tmp_table_size参数,然后重启mysql服务。

另外一种是修改max_heap_table_size参数。

[root@localhost etc]# vi /etc/rc.d/init.d/mysql
找到
$bindir/mysqld_safe –datadir=$datadir –pid-file=$pid_file >/dev/null 2>&1 &
修改为
$bindir/mysqld_safe –datadir=$datadir –pid-file=$pid_file -O tmp_table_size=64M -O max_heap_table_size=32M >/dev/null 2>&1 &

重启mysql
[root@localhost etc]# /usr/bin/mysqladmin -u root -p shutdown
Enter password:
[root@localhost etc]# /etc/init.d/mysql start
[root@localhost etc]# mysql

查看是否己修改
mysql> show variables like ‘%max_heap_table_size%';
+———————+———-+
| Variable_name | Value |
+———————+———-+
| max_heap_table_size | 33553408 |
+———————+———-+
1 row in set (0.00 sec)
mysql> show variables like ‘%tmp_table_size%';
+—————-+———-+
| Variable_name | Value |
+—————-+———-+
| tmp_table_size | 67108864 |
+—————-+———-+
1 row in set (0.00 sec)
己经修改成功!

http://blog.sina.com.cn/s/blog_8e743a770101iwzt.html


来源:http://zhoumo123.cn/mysql/3423.html

MySQL error 1114 is related to the InnoDB storage engine and it means that the table is full. This error occurs when the InnoDB engine cannot allocate more space to store data in the table. Here are some steps you can take to resolve this error: 1. Check the available disk space on your server. If the disk space is low, free up some space. 2. Check the size of the table that is causing the error. You can use the following command to get the size of the table: ``` SELECT table_name, round(((data_length + index_length) / 1024 / 1024), 2) as "Size (MB)" FROM information_schema.TABLES WHERE table_schema = "your_database_name" ORDER BY (data_length + index_length) DESC; ``` This will give you the size of all the tables in your database. Identify the table that is causing the error and check if it has reached its maximum size limit. 3. Increase the maximum size limit for the table. You can do this by altering the table and increasing the value of the `innodb_data_file_path` parameter. For example: ``` ALTER TABLE your_table_name ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8 MAX_ROWS=100000 AVG_ROW_LENGTH=10000 DATA DIRECTORY='/path/to/new/directory/' INDEX DIRECTORY='/path/to/new/directory/' PARTITION BY KEY(id) PARTITIONS 10 COMMENT='Increase table size limit'; ``` In this example, the `MAX_ROWS` and `AVG_ROW_LENGTH` parameters have been increased to increase the table size limit. You can adjust these parameters according to your needs. 4. If none of the above solutions work, you can try optimizing the table. This will free up some space and may resolve the error. You can use the following command to optimize a table: ``` OPTIMIZE TABLE your_table_name; ``` This will rebuild the table and reclaim any unused space. I hope these solutions help you resolve the MySQL error 1114.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值