WordPress

サイトネットワークのデータベーステーブルを空にするか削除する必要があります

More than 1 year has passed since last update.

状況

  • WordPressを試しにマルチサイト化
  • wp-configと.htaccessを元に戻す
  • 再度マルチサイト化しようとしてタイトルのエラーが出て困った
  • テーブルを空か削除って、どこのテーブルやねんといったところ

テーブル確認

マルチサイト化した際に新しく作られたテーブルは以下の通り。
xxx_は自分のWP接頭辞で読み替えて下さい。

それぞれがなに目的のテーブルなのか調べる。下記サイトより抜粋です。
WordPressCodex - データベース構造

  • xxx_blog_versions

    各サイトの現行データベースのバージョン・ステータスが、テーブルwp_blogs_versions に格納され、各サイトの更新に合わせて更新される。

  • xxx_blogs

    作成された各サイトは、テーブルwp_blogsに格納される。

  • xxx_signups

    ログイン登録プロセスによりサイトに登録されたユーザーを格納する。

  • xxx_site

    メインのサイトのアドレス情報を含む。

  • xxx_sitemeta

    各サイトの機能情報はサイトデータと呼ばれ、wp_sitemetaに格納される。サイト管理を含むさまざまな設定情報がテーブルに保存される。

ふーん、なるほど(鼻ほじー
selectして中身見ると、xxx_sitemetaはデータが詰まっていて消すのが怖いなあといった感じ。

テーブルバックアップ

データをいじる前はダンプを取りましょう。
自分ところは同じDBをWP接頭辞で使い分けているファットなDBなので、テーブル単位でダンプを取ります・・・

mysqldump -u USER_NAME -p DB_NAME xxx_sitemeta xxx_site xxx_signups xxx_blogs xxx_blog_versions > dump.sql

テーブル削除

うわああああああああああああ、ポチッとな

drop table xxx_sitemeta,xxx_site,xxx_signups,xxx_blogs,xxx_blog_versions;

テーブルを元に戻す場合

自分の場合は何ともありませんでしたが、消したテーブルを元に戻したい場合はダンプからリストアします。

mysql -u USER_NAME -p -D DB_NAME < dump.sql

テーブル削除その後

WPにログイン>ツール>ネットワークの設置をたどると、タイトルのエラーはなくなり、マルチサイトの初回設定画面が表示されます。