MySQL ERROR 1114 (HY000) at line 2137: The table ‘X’ is full
When restoring a MySQL database, I get the following error
1 2 3 |
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.
1 |
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
1 |
vi /etc/mysql/mariadb.conf.d/50-server.cnf |
Under [mysqld] section, add
1 2 |
tmp_table_size=256M max_heap_table_size=256M |
Restart MySQL
1 |
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
1 2 3 4 5 6 7 8 9 |
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.
1 2 3 4 5 6 7 8 9 |
MariaDB [(none)]> select @@innodb_file_per_table; +-------------------------+ | @@innodb_file_per_table | +-------------------------+ | 1 | +-------------------------+ 1 row in set (0.000 sec) MariaDB [(none)]> |
See MySQL