MySQL ERROR 1114 (HY000) at line 2137: The table ‘X’ is full

When restoring a MySQL database, I get the following error

root@localhost:~# mysql -u sok_user -p'serverok123' sok_db < parkingcupid.sql
ERROR 1114 (HY000) at line 2137: The table 'field_data_field_monthly_price' is full
root@localhost:~

How to fix ERROR 1114 (HY000) table is full?

First, check if the disk on the server is full.

df -h

In my case server disk was not full. Next try increasing the value for variables tmp_table_size and max_heap_table_size.

Edit file

vi /etc/mysql/mariadb.conf.d/50-server.cnf

Under [mysqld] section, add

tmp_table_size=256M
max_heap_table_size=256M

Restart MySQL

systemctl restart mysql

After this change MySQL database restore worked without giving any error.

If the above solution did not fix your problem, check the following.

Check Mysql variables innodb_data_file_path

MariaDB [(none)]> select @@innodb_data_file_path;
+-------------------------+
| @@innodb_data_file_path |
+-------------------------+
| ibdata1:12M:autoextend  |
+-------------------------+
1 row in set (0.000 sec)

MariaDB [(none)]> 

If innodb_data_file_path variable have a max value set, you should update it. In this case, we don't have a max value.

Verify innodb_file_per_table is set to 1.

MariaDB [(none)]> select @@innodb_file_per_table;
+-------------------------+
| @@innodb_file_per_table |
+-------------------------+
|                       1 |
+-------------------------+
1 row in set (0.000 sec)

MariaDB [(none)]>

See MySQL

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *