Access denied Error
MySQL server has gone away Error
Can't connect to [local] MySQL server Error
Client does not support authentication protocol error
Host '...' is blocked Error
Too many connections Error
Some non-transactional changed tables couldn't be rolled back Error
Out of memory Error
Packet too large Error
The table is full Error
Can't create/write to file Error
Commands out of sync Error in Client
Ignoring user Error
Table 'xxx' doesn't exist Error
Can't initialize character set xxx error
The table is full ErrorThere are a couple of different cases when you can get this error:
tmp_table_size bytes.
To avoid this problem, you can use the -O tmp_table_size=# option
to make mysqld increase the temporary table size or use the SQL
option BIG_TABLES before you issue the problematic query.
See section 5.5.6 SET Syntax.
You can also start mysqld with the --big-tables option.
This is exactly the same as using BIG_TABLES for all queries.
In MySQL Version 3.23, in-memory temporary tables will automatically be
converted to a disk-based MyISAM table after the table size gets
bigger than tmp_table_size.
InnoDB tables and run out of room in the
InnoDB tablespace. In this case the solution is to extend the
InnoDB tablespace.
ISAM or MyISAM tables on an OS that only
supports files of 2G in size and you have hit this limit for the datafile
or index file.
MyISAM tables and the needed data or index size is
bigger than what MySQL has allocated pointers for. (If you don't specify
MAX_ROWS to CREATE TABLE MySQL will only allocate pointers
to hold 4G of data).
You can check the maximum data/index sizes by doing
SHOW TABLE STATUS FROM database LIKE 'table_name';or using
myisamchk -dv database/table_name.
If this is the problem, you can fix it by doing something like:
ALTER TABLE table_name MAX_ROWS=1000000000 AVG_ROW_LENGTH=nnn;You only have to specify
AVG_ROW_LENGTH for tables with BLOB/TEXT
fields as in this case MySQL can't optimise the space required based
only on the number of rows.
| Posted by Thomas Mayer on Monday April 21 2003, @9:46pm | [Delete] [Edit] |
I did an update on 1,400,000 records using two non-temporary InnoDB tables within a longer transaction (which also uses temporary tables):
"update import_clearing t1 inner join import_sendung_neu t2 on t1.paketnummer=t2.paketnummer
set t1.send_id=t2.send_id;"
I got a MySQL 4.0.12 Error 1114: "The table 't1' is full".
"SET SESSION BIG_TABLES = 1;" did not solve the problem. I have 14GB of free InnoDB tablespace. Seems there are other non-documented reasons which make this error raise.
| Posted by Thomas Mayer on Friday April 25 2003, @6:57am | [Delete] [Edit] |
The update-problem shall be fixed in 4.0.13
| Posted by caschoff on Thursday June 5 2003, @1:01am | [Delete] [Edit] |
The above worked fine for me but you have to look on your disk space - mySQL ist creating a temporary database for this command with the same size as the original - my system ran out of disk space the first time i used the command.
| Posted by [name withheld] on Thursday June 12 2003, @5:39pm | [Delete] [Edit] |
I have the same problem with MySql 4.0.12. I am running an update query in a table of around 1.300.000 records and it keeps giving the same error message. I tries all of the above methods but non worked. Apparently, something is wrong.
| Posted by [name withheld] on Tuesday June 17 2003, @3:27pm | [Delete] [Edit] |
Ditto, on 4.0.10. I'm suspecting the temporary tables are becoming too large
| Posted by [name withheld] on Friday July 25 2003, @4:35pm | [Delete] [Edit] |
I'm having same problem with MySql 4.0.12, on a MyISAM table under windows. Happens while trying to update large number of rows. Updating a smaller number of rows at a time, avoided the message.
David