10
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

mysqlでALTER TABLEもCREATE TABLEも動かないし何もかもがおかしくなった時の対処

Last updated at Posted at 2013-05-29

CREATE TBLEしようとするとalready existsとか言われるし、じゃあ、居るんだったらとDROP TABLEしようとするとdoesn't existsとか言われるし、もうどうしようもない時の藻掻き方

  1. とりあえずバックアップはとっておく
  2. 該当テーブルをREPAIR TABLEしてみる
  3. mysqlの再起動をしてみる
  4. どうせダメなので言われた通りALTER TABLE hoge DISCARD TABLESPACE;
  5. どうせダメなので言われた通りALTER TABLE hoge IMPORT TABLESPACE;
  6. どうにもならないの分かりながらDROP TABLEを試してみる。
  7. どうにもならないの分かりながらCREATE TABLEを流してみる
  8. どうせダメなので、もういっそDROP DATABASEにトライする
  9. でも、よくわからないエラーが出てそれすら出来ないのを確認して mysqlをアンインストール => インストール
  10. 入れ直しても状況が変わらないのを確認して該当スキーマのdatadirを物理的に削除
  11. それでもどうせダメなので rm -fr datadirそのものを削除する

大体、11までやって真っ新になれば大体問題は解決します。なんとかなったら、create database してバックアップから復元してみましょう。色々原因を調べてみたんですが明確な理由は分かりませんでした。なんらかの原因でスキーマ情報に不整合が起きているのでしょうが、それが起きるタイミングも直し方も分からずじまい。ここまでやれば大体問題が解決するという経験則をメモしておきます。

10
9
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?