ホームページ >データベース >mysql チュートリアル >MySQL インポート エラー: テーブルスペースは存在しますが、テーブルは存在しませんか?
エラー: テーブルのテーブルスペースが存在します。 IMPORT の前にテーブルスペースを破棄してください
質問:
MySQL ユーザーが、以前に存在したテーブルを作成しようとしてエラーが発生しました。エラー メッセージは、テーブルのテーブルスペースがすでに存在しているため、インポートする前にテーブルスペースを破棄する必要があることを示しています。ただし、テーブルを削除したり、テーブルスペースを破棄しようとすると、テーブルが存在しないというエラー メッセージが表示されます。この問題の原因は何ですか?
回答:
このエラーは通常、「innodb_file_per_table」モードで実行中に「テーブルスペースがいっぱいです」エラーが発生した場合に発生します。データベース サーバーのテーブルスペースは、innodb_data_file_path 設定によって定義されますが、この設定はデフォルトで制限できます。
そのような場合、OS ディレクトリに孤立した .ibd ファイルが、対応する .frm ファイルなしで存在する可能性があります。テーブルごとに保存されます (通常は /var/lib/mysql または/usr/local/var/mysql).
解決策:
問題を解決するには:
例:
$ ls /var/lib/mysql table1.frm table1.idb table2.frm table2.idb table3.idb <-- problem table, no table3.frm table4.frm table4.idb $ mkdir /tmp/mysql_orphans $ mv /var/lib/mysql/table3.ibd /tmp/mysql_orphans/
注: 長時間実行されるクエリやロックされたテーブルなどの根本的な原因が解決されていることを確認します。孤立した .ibd ファイルがさらに作成されるのを防ぎます。
以上がMySQL インポート エラー: テーブルスペースは存在しますが、テーブルは存在しませんか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。