【MySQL】phpmyadmin内のテーブルを開くと強制終了する原因と直し方
WordPressで本サイトを作成中にphpmyadmin内にあるのテ-ブルを開こうとするとMYSQLが強制終了するようになってしまった。私はWordpressのデータベースはXAMPを使用しているため、MySQLを起動させた瞬間に強制終了すること自体は時々あるが、それらの対する修理方法であるポート番号の変更やXAMPPファイルの修復、対処では上手くいかなかった。
MySQLを起動させた瞬間に強制終了してphpmyadminがそもそも開けない場合は、本ページの説明対象外であるので、以下のサイトを参照すると良い。
- ・phpmyAdmin強制終了に対する対処の概要
- ・ポート番号を変更する修正方法
- ・XAMPPファイルのデータを修正する方法
思考錯誤をしながら調べてみると、恐らくテ-ブル内の情報構造や設計(つまり概念スキーマ)がおかしくなったと想像できる。
概念スキーマ設計ミスが発生すると、テーブル内の設計がおかしくなる。そのため、デ-タを編集しようにもテ-ブルを削除しようにもテ-ブルを開いた瞬間当然エラーで強制終了してしまう。つまり、データを開いて直すことが出来ない状況になってしまった。ここでは、その時の解決方法を以下の構成にで記載する。
- ワ-クブック内の不要なファイルを削除する
- バックアップされているテ-ブルを復元する
なお、この方法は、テーブルのバックアップをとっていることいることを前提とする。
(一つづつバックアップしていることがベストではあるが、全テ-ブルのバックアップからでもおそらくできる)
1.ワ-クブック内の不要なファイルを削除する。
すると、多数の拡張子がfrmとibdのファイルが現れるはずである。詳細を調べきることはできなかったが、この2つのファイルに概念スキーマが含まれているらしい。
data\直したいデータベース名\壊れたテーブル名.ibdをデスクトップなり他の場所に移動する。
phpmyadminを開き、該当テーブルが開けるようになっているはずなので、「操作」を押してから、「テーブルを削除する」を選択する。
ブラウザに戻り、該当するテーブルのfrmファイルとibdファイルがともになくなっていることを確認する
2.バックアップされているテ-ブルを復元する
インポートを選択し、ファイルを選択するから該当するsqlファイルを選択してインポートする