MySQL/MyISAMの設定に関するビューがあると、基になるテーブルで列が削除され、そのビューが無効になりました。
ビューを削除して再作成できるようにしたところ、MySQLはそれがテーブルであり(ビューではなく)、「使用中」とマークしました。
テーブルではないと表示されているため、このテーブルをドロップしたり修復したりすることはできません。
私は何時間もググってこれを修正する方法を見つけようとしました:(
Ubuntuを実行しているMySQLサーバーにrootアクセスがあります。 MySQLを停止してmyisamchk
を試しましたが、うまくいきませんでした。
.frm
dbデータフォルダ内のビューのファイル。
破損したアイテムを削除するためにそのファイルを削除する必要がありますか、それとも何らかの方法でデータベーススキーマからテーブルを削除しますか?
昨夜のdbバックアップがありますが、バックアップから復元して今日の変更を失うよりも、この1つの問題を修正したいと考えています。
そのファイルの名前をanythingに変更するだけで、.frmで終わらないようにしてから、SHOW TABLES
。それはなくなっているはずです。まだそこにある場合は、FLUSH TABLES
、次にSHOW TABLES
再び。