LMSouq
database Open

MySQL > Table doesn't exist. But it does (or it should)

JO
johnsmith
1 month ago
3 views
Problem Description
I changed the datadir of a MySQL installation and all the bases moved correctly except for one. I can connect and `USE` the database. `SHOW TABLES` also returns me all the tables correctly, and the files of each table exists on the MySQL data directory. However, when I try to `SELECT` something from the table, I get an error message that the table does not exist. Yet, this does not make sense since I was able to show the same table through `SHOW TABLES` statement. My guess is that `SHOW TABLES` lists file existence but does not check whether a file is corrupted or not. Consequently, I can list those files but not access them. Nevertheless, it is merely a guess. I have never seen this before. Now, I cannot restart the database for testing, but every other application that uses it is running fine. But that's just a guess, I've never seen this before. Does anyone know why this is happening? Example: mysql> SHOW TABLES; +-----------------------+ | Tables_in_database | +-----------------------+ | TABLE_ONE | | TABLE_TWO | | TABLE_THREE | +-----------------------+ mysql> SELECT * FROM TABLE_ONE; ERROR 1146 (42S02): Table 'database.TABLE_ONE' doesn't exist

AI-Generated Solution

Powered by LMSouq AI · GPT-4.1-mini

✓ Solution Ready
Analyzing problem and generating solution…
Was this solution helpful?
Back to Knowledge Base