False "Table doesn't exist" error in MySQL

Problems with the Linux version of XAMPP, questions, comments, and anything related.

False "Table doesn't exist" error in MySQL

Postby robin_sharp » 23. October 2014 10:15

I am using Ubuntu Linux version 12.04 with Linux kernel 3.2.0-61-generic-pae.
The XAMPP version is 1.8.3. The MySQL setup uses ISAM tables.

It seems possible for the MySQL database to get into a state where a table created by the user appears not to exist. The symptoms are:
[list=]
[*]Attempts to access the table provoke the MySQL error message #1146 "Table ... doesn't exist".
[*]Attempts to create the table using CREATE TABLE IF NOT EXISTS provoke the same error message.
[*]If the database which contains the table is the current database, the table's name is included in the list of tables produced by the SHOW TABLES command.
[*]There is a .frm file for the table (this should be the case because ISAM tables are being used), but no .MYD or .MYI files for it (not needed if the table is empty).
[*]The table does NOT appear in the MySQL information_schema database's table TABLES.
[/list]

I do not have enough information to say whether this is a basic bug in MySQL or in the way in which MySQL databases are handled in XAMPP when ISAM tables are used. However, I have found other reports in other fora of similar behaviour also in earlier versions of XAMPP. The faulty state of the database seems to appear quite at random -- or perhaps I should say that I haven't been able to find any clues to what causes it.

For the user who experiences this problem there is a fix: Delete the .frm file, restart the MySQL server and create the table. However, this requires root privileges, so this "solution" is not viable for all users. A permanent solution would definitely be preferred! :wink:

[EDIT by Altrea: moved to the english section of this board]
robin_sharp
 
Posts: 3
Joined: 19. March 2014 16:57
Operating System: Ubuntu

Re: False "Table doesn't exist" error in MySQL

Postby Nobbie » 23. October 2014 13:58

robin_sharp wrote:[*]There is a .frm file for the table (this should be the case because ISAM tables are being used), but no .MYD or .MYI files for it (not needed if the table is empty).


Even for empty tables there *should* be an .MYD and .MYI file. Probably this leads to the "not found" error. Some users have kind of file systems optimization tools actived, which deletes files with size zero, what often leads to errors like this.

This is not a MySQL bug, as these files are not removed by MySQL. And empty file is different from a non-extistand file.
Nobbie
 
Posts: 13183
Joined: 09. March 2008 13:04


Return to XAMPP for Linux

Who is online

Users browsing this forum: No registered users and 31 guests