MySQL インストールの datadir を変更したところ、1 つを除いてすべてのベースが正しく移動しました。データベースに接続できUSE
ます。SHOW TABLES
また、すべてのテーブルを正しく返し、各テーブルのファイルは MySQL データ ディレクトリに存在します。
ただし、SELECT
テーブルから何かをしようとすると、テーブルが存在しないというエラー メッセージが表示されます。SHOW TABLES
しかし、ステートメントを介して同じテーブルを表示できたので、これは意味がありません。
私の推測では、SHOW TABLES
ファイルの存在を一覧表示しますが、ファイルが破損しているかどうかはチェックしません。したがって、それらのファイルを一覧表示することはできますが、アクセスすることはできません。
とはいえ、あくまでも推測です。これは今まで見たことがありません。現在、テストのためにデータベースを再起動することはできませんが、それを使用する他のすべてのアプリケーションは正常に動作しています。しかし、これは単なる推測であり、これまでに見たことがありません。
なぜこれが起こっているのか誰にも分かりますか?
例:
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