MySQL テーブル消失の難題が解決されました
SHOW TABLES が SELECT などのデータ操作にアクセスできないテーブルを表示するという不整合が発生した場合、根本的な原因は依然としてわかりにくいことがよくあります。潜在的な原因の 1 つは破損したテーブル ファイルであり、SHOW TABLES では検出できない可能性があります。
ある特定の例では、ユーザーが MySQL データ ディレクトリを変更した後にこの問題が発生しました。テーブルのファイルが存在しているにもかかわらず、そこからデータを選択するとエラーが発生しました:
ERROR 1146 (42S02): Table 'database.TABLE_ONE' doesn't exist
この矛盾した動作により、SHOW TABLES はファイルの存在のみを検証し、整合性は検証しないのではないかという推測が生まれました。しかし、問題の根本は最終的に発見されました。
問題を解決するために、ユーザーはこれらをコピーしましたファイルを新しいデータ ディレクトリにコピーすると、テーブルへのアクセスが正常に復元されました。これは、InnoDB ベースのデータベースをコピーするときに、その機能を保証するためにこれらのファイルを含めることの重要性を強調しています。
以上がMySQL テーブルが SHOW TABLES には表示されるのに、SELECT クエリには表示されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。