CREATE TBLEしようとするとalready existsとか言われるし、じゃあ、居るんだったらとDROP TABLEしようとするとdoesn't existsとか言われるし、もうどうしようもない時の藻掻き方
- とりあえずバックアップはとっておく
- 該当テーブルをREPAIR TABLEしてみる
- mysqlの再起動をしてみる
- どうせダメなので言われた通りALTER TABLE hoge DISCARD TABLESPACE;
- どうせダメなので言われた通りALTER TABLE hoge IMPORT TABLESPACE;
- どうにもならないの分かりながらDROP TABLEを試してみる。
- どうにもならないの分かりながらCREATE TABLEを流してみる
- どうせダメなので、もういっそDROP DATABASEにトライする
- でも、よくわからないエラーが出てそれすら出来ないのを確認して mysqlをアンインストール => インストール
- 入れ直しても状況が変わらないのを確認して該当スキーマのdatadirを物理的に削除
- それでもどうせダメなので rm -fr datadirそのものを削除する
大体、11までやって真っ新になれば大体問題は解決します。なんとかなったら、create database してバックアップから復元してみましょう。色々原因を調べてみたんですが明確な理由は分かりませんでした。なんらかの原因でスキーマ情報に不整合が起きているのでしょうが、それが起きるタイミングも直し方も分からずじまい。ここまでやれば大体問題が解決するという経験則をメモしておきます。