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