Saya mengubah datadir dari instalasi MySQL dan semua pangkalan bergerak dengan benar kecuali satu. Saya dapat terhubung dan USE
database. SHOW TABLES
juga mengembalikan saya semua tabel dengan benar, dan file dari setiap tabel ada di direktori data MySQL.
Namun, ketika saya mencoba SELECT
sesuatu dari tabel, saya mendapatkan pesan kesalahan bahwa tabel tersebut tidak ada. Namun, ini tidak masuk akal karena saya bisa menunjukkan tabel yang sama melalui SHOW TABLES
pernyataan.
Dugaan saya adalah bahwa SHOW TABLES
daftar keberadaan file tetapi tidak memeriksa apakah file rusak atau tidak. Akibatnya, saya bisa daftar file-file itu tetapi tidak mengaksesnya.
Namun demikian, itu hanyalah dugaan. Saya belum pernah melihat ini sebelumnya. Sekarang, saya tidak bisa me-restart database untuk pengujian, tetapi setiap aplikasi lain yang menggunakannya berfungsi dengan baik. Tapi itu hanya dugaan, saya belum pernah melihat ini sebelumnya.
Adakah yang tahu mengapa ini terjadi?
Contoh:
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