备忘:MySQL InnoDB Error "the table is full"

[size=large]
http://blog.imminentweb.com/technologies/mysql-innodb-error-table-full
----------

http://dev.mysql.com/doc/refman/5.0/en/full-table.html explains some common causes for the error "the table is full" and tells how to fix it.

If you are using MySQL InnoDB, and the file limit isn't reaching the maximum file size limit by the operation system, then check your my.cnf config file, and look for a line like

innodb_data_file_path = ibdata1:10M:autoextend:max:128M

Increase the "max:128M" to something bigger, such as "max:526M".

If you want to increase the innodb_log_file_size, do this:

1. shut down mysqld cleanly
2. remove ib_logfile* files in your mysql data directory, which is possibly /var/lib/mysql

我的路径是
vi /etc/mysql/my.cnf
改为
innodb_data_file_path = ibdata1:10M:autoextend

3. restart mysqld again and check all tables are fine.

[/size]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值