初心者向けデータベース整理術 

初心者向けデータベース整理術  {1}

WordPressも運営が長期化し、プラグインを入れたり抜いたり、テーマを変えたり、あちこちいじっているうちに、どんどんデータベースにゴミが溜まってきます。

特に厄介なのが、プラグインが自動生成するデータ。

プラグインの中にはアンインストールと同時に関連するデータも完全削除してくれるものもありますが、データや各種設定がそのまま残ってしまうプラグインも多いです。

また、テーマ・テンプレートの中には、独自のオプション機能をもち、テンプレート変更後も膨大な量の設定データが残ってしまうケースが大半です。

はたと気付けば、数百行~数千行にわたって使わなくなったデータが残ってしまうことがあるので、時々、データベースを掃除してやりましょう。

とはいえ、慣れないうちは、phpMyadmin の操作も分からないし、直接データベースを編集するのも躊躇しますよね。

そんな方におすすめなのが、データベース系のプラグイン『Adminer』。

http://wordpress.org/extend/plugins/adminer/

通常、レンタルサーバーの管理画面からアクセスするphpMyadminをWordPressの管理画面に取り込み、直接データベースの編集ができる便利なツールです。

§ Adminer 使い方

プラグインを有効化したら、WordPressメニューの「ツール」→「Adminer」からアクセスします。

すると次のようなメッセージが現れるので、同一タブ内に表示するか、新規タブを作成してそこで作業するか、選択します。

Adminer 管理画面

次に編集したいデータベースを選択すると、データテーブル一覧が現れます。
そこから更に目的のデータテーブルを絞り込みます。

Adminer 管理画面



たとえば、プラグインが自動生成したデータをwp_postmetaから削除したい場合。

上部メニューの『データ』をクリックして、編集画面に移動します。

Adminer 管理画面

一例として、ページ毎のアクセス数をカウントするプラグインが生成した「views」というデータを一括で削除します。

SQLファイル内では、次のように記述されています。

(`meta_id`, `post_id`, `meta_key`, `meta_value`)
(74, 85, ‘views’, ’1504′),

『検索』で『meta_key』と検索したい文字(この場合views)を入力し、『動作』で「選択」をクリックします。

Adminer 管理画面

すると、meta_key = views で指定されたデータが一覧表示されます。
すべて削除したい場合は、「全結果」にチェックを入れて、「削除」をクリックすれば、すべて一括で削除されます。

Adminer 管理画面

内容を直接編集したい場合は、各データの左端「編集」をクリックして編集画面を開き、保存すればOK。

Adminer 管理画面



データを一括で置換したい場合は、こちらの記事をご参照ください。
カスタムフィールドのプラグイン 入力支援・表示・管理



データベースをじっくり見てみると、不要になったデータがたくさん残っていると思います。
大きな支障はありませんが、スリムな方が管理しやすいですし、余計なものは無いにこしたことないので、時々、チェックして、削除してやるといいと思います。

Adminerには、「分析」「最適化」「データのエクスポート」など、様々な機能が備わっています。

phpMyadminに比べて、「操作が分かりやすい」「いちいちレンタルサーバーのリンクにアクセスする必要がない」といったメリットがあります。

普段は「無効」にして、使用する時だけ「有効」にすれば、ちょっとでもWordPressの負担を減らすことができます。

いろいろ試してみてください。

§ Adminerの注意点

(1) 複数で管理している場合は導入を慎重に。

Adminerは、phpMyadminのアカウントやパスワードを知らなくても、誰でもデータベースにアクセスできるので、複数でWordPress管理している場合は注意が必要です。

(2) 初心者は直接編集の前にバックアップを取る。

データベースの操作に不安が大きい場合は、直接編集する前に、必ずバックアップを取りましょう。
Adminerの各テーブルの操作パネルに「エクスポート」の機能が備わっています。
編集前にSQLファイルとして保存すれば、誤って大事なデータを消してしまった場合でも元の状態に復元することが出来ます。

(3) 作業が終了したら必ずログアウトする

セキュリティのため、作業が終了したら、左側メニューの上部「ログアウト」をクリックしましょう。
「永続的にログイン」という機能もありますが、これは避けた方が無難です。

§ データテーブルに関するTips

データベースにアクセスする前に、各データテーブルに関する最低限の知識を身につけましょう。

データベース構造 WordPress Codex

プラグインが自動生成するデータは、「プラグイン独自の新規データテーブル」に保存される場合と、「WordPress標準のデータベース」に保存される場合と二通りあります。

中でも、もっとも不要なデータが溜まりやすいのは、wp_option と、wp_postmeta です。

wp_optionには、主に、プラグインやテーマ・テンプレートの設定が保存されます。

たとえば、Twitter関連のプラグインを使用している場合、TwitterのアカウントやAPIコードなど、プラグイン独自の設定がwp_optionに保存されるといったケースです。

そして、これらのデータは、プラグインの使用を中止しても、ずっとデータテーブルの中に残っていることが多いです。

プラグインを入れたり抜いたりするうちに、どんどんデータベースの容量が増えて行く所以です。



wp_postmetaには、主に、プラグインで使用するデータそのものが保存されます。

たとえば、Seriesというプラグインを使用して、ある記事に「wordpress plugin」というラベルを付けた場合、そのデータがmeta_valueとして保存されるケースです。

これもプラグインを中止した後もずっとデータベースに残っていることが多いです。場合によっては数百行から数千行規模になります。

残っているからといってサイト表示が著しく遅くなったり、WordPressの管理に大きな支障をきたすわけではありませんが、掃除するにこしたことはないです。



こうした事を踏まえて、時々、データベースを覗いてやると、WordPressのこともより深く理解できると思います。

データベースの扱いに慣れれば、今までいちいち投稿画面を開いて編集していた事も、phpMyadminやテキストエディタでさくっと作業が行えるようになるので、とてもラクですよ。

§ 参照記事

何かと編集する機会の多いwp_postmetaに関する情報です。

大事なデータまでうっかり削除しないよう、気を付けてくださいね。

【カスタムフィールドに表示されないメタ情報の作り方】
http://wpxtreme.jp/meta-key-and-value-hidden-on-custom-fields

* _wp_page_template ページ:ページテンプレートのファイル名
* _wp_attached_file メディア:ファイル名
* _wp_attachment_metadata メディア:画像のサイズなど
* _wp_attachment_image_alt メディア:画像の alt(代替テキスト)値
* _wp_old_slug 投稿/ページ:スラッグを変更したときの、変更前のスラッグ
これのおかげで、スラッグを変更しても以前のスラッグを使用した URL でアクセスできます。
* _wp_trash_meta_status 投稿/ページ/添付/コメント:ゴミ箱へ移動した時のステータス
* _wp_trash_meta_time 投稿/ページ/添付/コメント:ゴミ箱へ移動した時の時間
* _edit_lock 投稿/ページ:編集ロックした時間
「この記事は他のユーザーが編集中ですよ」の排他制御に使われます。
* _edit_last 投稿/ページ:最後に編集したユーザーの ID

§ さらに簡単なクリーンアップ系のプラグイン

どうしてもデータベースに触るのが怖い方は、クリーンアップ系のプラグインを試してみるといいと思います。

WP-Optimize

http://wordpress.org/extend/plugins/wp-optimize/

ワンクリックでデータベース最適化してくれます。

使える機能は「ポスト・リビジョンの削除」「スパムコメントの削除」「未承認コメントの削除」「データテーブルの最適化」です。

他にオプションとして、WordPress管理画面ログイン用のユーザー名を変更することができます。
セキュリティの為に適宜変更したらいいかもしれません。

wp-optimize 操作パネル

診断画面で「Need to optimize」のメッセージが出ていたら最適化が必要です。
作業が完了すれば、「Optimized」の青いメッセージに変わります。

wp-optimize 操作パネル

使わない時は無効化しておくといいですよ。

WP-Cleanup

http://wordpress.org/extend/plugins/wp-cleanup/

こちらもワンクリックで最適化ができるプラグインです。

使える機能は、「ポストリビジョンの削除」「スパムコメントの削除」「未承認コメントの削除」「未使用タグの削除」「未使用post metaデータの削除」「未使用MySQLデータの削除」です。

円グラフで視覚的に確認できるのがポイントですね。

wp-cleanup 操作パネル

§ まとめ

WordPressを長期にわたって管理するなら、データベースに関する最低限の知識やテクニックは必須です。

最初のうちはphpMyadminにアクセスするのもドキドキもので、「操作ミスで、サイトが吹っ飛んだらどうしよう」と心配になりますが、何度もデータベースのインポートやエクスポートを繰り返しているうち、要領が分かってくると思います。

あまりにデータベースのゴミが多いと、サイト表示が遅くなったり、WordPressの操作に支障をきたすこともあるそうなので、出来る部分から少しずつでも慣れていってくださいね。

データベースのバックアップに関しては、こちらも参考にどうぞ。
データベースとphpMyadmin バックアップとサーバー移転の手順

WP3.0 ネットワークでのデータベース保存術 {0}

WP3.0系のネットワーク機能を利用する場合、一番厄介なのがデータベースのバックアップです。

既知の通り、WP3.0系のネットワークでは、親子ブログのデータテーブルはすべて一つのMySQL上に作成されるので、子ブログを複数作成すると、データテーブルがあっという間に3桁に達します。

そうなると、MySQLをまるまる保存するのは容量的に無理がありますし、各ブログを再現するのも大変な煩雑になります。

また、バックアップ系のプラグインを使うのも、細かな部分でカスタマイズしにくいので、phpMyadminを使ってブログ単位でバックアップを取るのが一番確実です。(手動で行うのは非常に面倒くさいですが)

  • wp-optionは別個にバックアップをとる
  • サイトをまるまる復元する場合は必要ないですが、サーバーを引っ越したり、新たにWordPressを開設して記事データだけインポートする場合は、wp-optionを抜かないと、以前の設定がそのまま反映されてしまうので、「管理画面に入室できない」というようなトラブルが発生します。

  • 記事数が多い場合は、wp-postsを別個にする
  • データのインポートに一番時間がかかるのが、記事本文を格納しているwp-postです。
    容量が数MBに及ぶ場合、途中で読み込みが停止して、その他の情報までアップロードに失敗する恐れがありますので、wp-postsだけは別個にバックアップを取った方が安全です。

    ネットワークを利用している場合、WPの基本テーブルの他に、サイト管理に関するテーブルが追加されます。

    接頭語を「wp_」と設定した場合、

    WPの基本テーブル

    wp_commentmeta
    wp_comments
    wp_links
    wp_options
    wp_postmeta
    wp_posts
    wp_terms
    wp_term_relationships
    wp_term_taxonomy
    wp_usermeta
    wp_users

    サイト管理テーブル

    wp_registration_log
    wp_signups
    wp_site
    wp_sitecategories
    wp_sitemeta



    子ブログについては、wp_2_posts、 wp_postsのように自動生成されますので、各々についても同じ要領で、数回に分けて、バックアップを取ります。

    またプラグイン関連のデータテーブルも別個にしてバックアップを取ります。

    phpMyadminからバックアップする方法は、データベースとphpMyadmin バックアップとサーバー移転の手順をご参照ください。

    § wp-optionに関する注意

    先にも述べたように、「wp-option」には、サイトを設置したURL、管理画面のパスワードなどが保存されていますので、たとえば新URLにサイトを復元する場合、wp-optionをそのままインポートすると、「管理画面に入室できない」「サイトが旧URLに飛んでしまう」といったトラブルが発生します。

    バックアップを取る時、別個にするのは、サイト復元時に作業内容を確認するためです。

    もちろん、サイトをまるまる復元する場合は、別個にする必要はありませんが、それでも別個にしておいた方が安全性は高いです。

    また、wp-optionには、プラグインのデータが格納されている場合があります。

    絶対にdeleteできない内容に関しては、どの部分に記載されているのか、きちんと把握しておきましょう。

    たとえば、下記のデータは、「Datefeedr Random」というプラグインのものです。

    wp-option

    Datefeedrに関するデータだけ個別にインポートする場合は、「SQL」の画面で、INSERT INTO の形でアップロードします。
    行末は必ず ; で締めます。

    wp-option

    § バックアップを簡単にするツール

    phpMyadminを使用するする場合、いちいちサーバーのコントロールパネルにアクセスするのが面倒な方は、プラグイン『Adminer』がおすすめ。
    WordPressの管理画面にphpMyadminを引っ張って、同一ウィンドウ、もしくは新しいタブでアクセスすることができます。
    編集や検索、クエリ、インポート・エクスポート作業など、フル機能が使えるので、データベースの直接編集をする機会が多い方には便利です。

    § 一つのデータベースに何個のデータテーブルを設置できるのか

    1つのドメインに複数ブログを設置する場合、ネットワーク機能は確かに便利ですが、何十、何百ものデータテーブルが作成されてしまうのは痛いところです。

    では、実質的に、いくつぐらいまで作成可能なのか。

    一つの回答として、次のような質問を見つけました。
    http://oshiete.goo.ne.jp/qa/2470278.html

    一つのデータベース内に作成できるテーブル数に制限はあるのでしょうか?
    また、テーブル数は増えれば増えるほど、一つのテーブルに1000件データが入っているテーブルと比べて、検索に時間がかかったり負荷が高くなったりするものなのでしょうか?
    宜しくお願いします。

    MySQLの限界ではなくて、同時アクセス数に対するサーバーそのものの限界が先に来ます
    もし、正しいチューニングをしていても動作が遅くなってきたらMySQLではなくて、サーバースペックを見直してください

    1000レコード入ってるテーブルと10万レコード入ってるテーブル
    正直言って 人間の体感的な速度に差があるようにはまったく感じません

    世の中には、6万テーブル、約 5億レコードのMySQLサーバーも存在しています

    ……ということなので、個人が複数の子ブログを運営する分にはほとんど差し支えないと思います。

    もちろん、1日のアクセス数が爆発的に多くない、というのが前提ですが。

    § 『HostMonster』と『BlueHost』の場合

    HOSTMONSTER』および『BLUEHOST』の場合、サーバー上のファイルとデータベースを丸ごと保存する機能があります。

    コントロールパネルの「Files」から「BackUP」をクリックし、「Download a MySQL Database Backup」からバックアップを取りたいデータベースを選んで、ローカルに保存します。
    バックアップは .gz の圧縮ファイルとして生成されます。

    バックアップファイルを復元する場合は、『Restore a MySQL Database』からアップロードしたいgzファイルを選択し、実行するだけです。

    この機能では、「テーブルごと」といった細かな機能はなく、データベースが丸ごと保存されます。

    定期的なバックアップツールとしておすすめです。

    wp-option

    wp-option

    こういう機能は、日本の格安サーバーにはないので、当サイトでも上記の海外サーバーをおすすめしている所以です。

    参考までに。

    wp-postsの分割(SQL実行)とWXRインポート {0}

    ここでは、WordPressのデータテーブル『wp-postsの分割(SQLの実行)』と『WXRのインポート』について取り上げています。

    サーバー移転やトラブル等で、サイトの復元が必要になった場合、WordPressでは、『phpMyadminからSQLのバックアップファイルをインポートする方法』と、『エクスポート機能でアウトプットしたWXRファイルを再インポートする方法』と二通りあります。

    しかし、WordPressも投稿記事が数百に及ぶと、SQL、WXRともにサイズが大きくなり、インポートが難しくなってきます。

    サーバーによっては、一回にインポートできるファイル容量が小さく設定されていたり、何らかの原因で接続が切れてしまったり、トラブルが発生しやすくなるからです。

    php.iniを直接編集できないサーバーの場合、手動によるファイル分割が必要になってきますので、その基本操作について解説します。

    <追記 10月20日>

    WordPressでは、インポートできるファイルのサイズが「2MB」に限られていますが、これを増量する方法があります。

    (1) php.iniを直接編集する
    (2) .htaccessにコードを書き加える

    php.iniに関しては、「php.iniを編集してインポートできるファイル・サイズを増量する」をご参照下さい。

    .htaccessに関しては、他サイトにたくさん情報が出ています。

    「upload_max_filesize php.ini htaccess」といった単語で検索してみて下さい。

    『wp-posts』の分割とSQL実行

    ……とはいえ、これを安全確実に分割するのは、プログラムに詳しい人でも難しい話です。

    ネット上でもいろんな方法が紹介されていますが、初心者が見よう見まねで実行するのはかなりリスキーだと思います。

    私も「この方法なら簡単確実ですよ!」という説明はできないので、ここでは概念と、1つの原始的な方法(手間がかかりますが)をご紹介します。

    WordPressの場合、データのインポートで最大のネックとなるのが、投稿記事に関する情報を格納している『wp-posts』です。

    記事数が二桁ならそこまで負担になりませんが、400、500となってくると、並のテキストエディタでは開けないくらい大きくなります。

    私のサイトも、『wp-posts』だけで8MBになるので、全データをインポートする時は、他のテーブルと別個に分けて作業しています。

    サーバーに十分な許容量があっても、接続の状況によっては、タイムオーバーで中断したり、思いがけないエラーを吐くことがあるからです。

    データをインポートする際は、まず、ファイルの容量を確認し、利用しているサーバーの許容量をチェックします。

    WordPress

    多くのレンタルサーバーは、十分な容量を取っていますので、個人のサイトであれば、一回で全データのインポートが出来ると思いますが、一応、『wp-posts』の分割の仕方と、『SQLの実行』について説明しておきますね。

    phpMyadminから『wp-posts』テーブルだけをエクスポートすると、まず、冒頭に、phpMyadminとデータベースに関する情報が表示されます。

    WordPress

    次に「テーブルの構造」に関する情報が表示されます。
    CREATE TABLE IF NOT EXISTS 「wp-postsテーブルが存在しなければ、これらのテーブルを作成する」というもの。

    WordPress

    ついで、「INSERT INTO」の形で、投稿記事の内容が表示されます。

    WordPress

    1アイテム(1記事)の終わりは、 ),

    WordPress

    INSERT文の終わりは、 );

    WordPress

    『wp-posts』テーブルを複数に分割し、1つ1つインポートすることは出来ません。

    なぜなら、「テーブル」としてインポートした場合、すべてのデータは上書きされてしまうからです。

    たとえば記事ABCを含むwp-postsをインポートし、続いて、記事XYZを含むwp-postsをインポートしても、記事ABCXYZとはならないのです(すべて上書きされてしまう)

    単純に、データの中身だけをインポートする場合は、SQLとして実行します。

    WordPress

    wp-postsの場合、SQLは、INSERT INTO から、); で括られた部分までを1つのクエリとして認識します。

    INSERT INTOで開始。

    WordPress

    挿入したいアイテムの始まり。

    WordPress

    INSERT文の終わり。最後は必ず ); で閉じます。

    WordPress

    これらを1つのクエリとしてコピーし、SQL実行画面にペーストして、実行します。

    インサート文はいくつ連ねてもOKなので、サーバーの負担にならない大きさ(~1MBぐらい)で実行します。

    WordPress

    成功すれば、下記ようなメッセージが現れます。

    WordPress

    SQL文としてアップロードすれば、データがどんどん追加されていきますので、「既存のテーブル内容が上書きされて消える」ということがありません。

    ただし、分割の仕方を間違うと、いくつかの記事が失われたり、エラーメッセージが出たりしますので、注意が必要です。

    また全ての記事が完全にインポートされたか確認する為にも、事前に、サイトステータス(記事数、カテゴリー数など)は必ずチェックしておきましょう。

    参考記事:

    sqlファイルによるデータ一括変換、phpMyadmin活用術 {1}

    ここではsqlファイルを使ったデータ一括変換やphpMyadminの活用術を紹介しています。

    【データベースのバックアップ&サーバー移転(サイト復元)】に関する情報はこちらです。

    なお、これらの操作を行う時は、必ずデータのバックアップを取り、いつでも元の状態に復元できるように備えましょう。

    また、お使いのテキストエディタの文字コードがUTF-8であることも必ず確認します。


    §テキストエディタによるsqlファイルの直接編集

    たとえば、カスタムフィールドの場合、名前や値を変更するにはいちいち投稿画面を開かねばなりません。

    ↓この部分

    WordPress

    しかし、カスタムフィールドの情報を格納するwp_postmetaを直接編集することで、一気に大量の編集が可能になります。

    まず、メニュータブから『エクスポート』を選択して、『wp_postmeta』のみを選択して、sqlファイルとして保存します。

    念のため、同じものを2回保存するか、コピーをとって別の場所に保存し、オリジナルのデータを必ずキープします。

    WordPress

    次に、sqlファイルをエディタで開き、データがどのように抽出されているか確認します。

    この場合、meta_keyがカスタムフィールドで設定した「名前」、meta_valueが「値」になります。

    WordPress

    たとえば、custom_post_templateで指定した ‘kodomo.php’を、’normal.php’に変更したい場合。

    WordPress

    エディタで全置換すれば、一気に複数のデータが書き換わります。

    WordPress

    指定した「名前」も「値」も不要な場合は、その行を丸ごと削除します。

    WordPress

    新規に「名前」と「値」を追加したい場合は、meta_IDにnull(WordPressが自動的にID番号を振り分けるので)、post_IDにカスタムフィールドを追加したい投稿記事のID、meta_keyに「名前」、meta_valueに「値」を入力します。

    カスタムフィールドで使える言語なら何でもOKです。

    最終行は ; で閉じることを忘れないで下さい。

    WordPress

    編集が終わったら、上書き保存したsqlファイルをインポートします。

    サイトをチェックしてみて、問題なければOK。

    画面が真っ白になったり、データがそっくり飛んでいれば、もう一度、オリジナルのデータをインポートし直せば、修復します。

    同じ要領で、その他のデータもエディタで一括編集することができます。


    § phpMyadminによるデータ直接編集

    phpMyadminから直接編集することも出来ます。

    たとえば、wp_termsを開くと、カテゴリーIDやデスクリプションが表示されます。

    WordPress

    さらに編集したいテーブルの『変更』アイコン(鉛筆マーク)をクリックすると、テーブルの内容が直接編集できるようになります。

    WordPress


    § phpMyadmin活用術

    phpMyadminでは、データのインポートやエクスポート、直接編集などの他、必要なデータを取り出すにも便利です。

    たとえば、テンプレートタグを使って「cat=」の値を指定する時、各カテゴリーのID一覧表があれば便利ですよね。

    その場合、wp_termsテーブルを開き、さらにterm_IDとnameにチェックを入れて、表示アイコンをクリックします。

    WordPress

    すると、テーブル内のデータが表示されます。

    WordPress

    画面後方の「クエリ結果操作」から「印刷用画面」を選んでプリントしてもいいし、「エクスポート」でsqlファイルとして保存して、テキストエディタからプリントしても、どちらでもOK。

    WordPress

    他にもいろいろ応用できますので、あちこち開いてみて下さい。

    その際、バックアップをお忘れなく☆

    プラグイン『Adminer』について

    『Adminer』というプラグインを使えば、phpMyadminを管理画面に取り込むことが出来ます。

    http://wordpress.org/extend/plugins/adminer/

    phpMyadmin

    インポート、エクスポート、検索、編集、SQLなど、フル機能が使えます。

    データベースの直接編集をする機会の多い方には便利なプラグインです。

    データベースとphpMyadmin バックアップとサーバー移転の手順 {1}

    ここではphpMyadminを使用したデータベースのバックアップとサーバー移転(サイト復元)の手順について説明しています。


    § もくじ

    1. データベースの基本構造とphpMyadmin
    2. SQLファイルの読み方
    3. データのバックアップ
    4. サーバーのお引っ越し(データ移動およびサイトの復元)

      -応用編-

    1. テキストエディタによるSQLファイルの直接編集
    2. phpMyadminによるデータ直接編集
    3. phpMyadmin活用術
    4. プラグイン『WP-phpMyadmin』


    § データベースの基本構造とphpMyadmin

    WordPressに関する全てのデータは、自身のサーバースペースに用意された『データベース』にSQLファイルとして格納されます。

    このデータベースを直接操作するのが、『phpMyadmin』と呼ばれる管理ツールです。

    たいていのレンタルサーバーでは、ユーザーの管理画面からphpMyadminにアクセスできるようになっています。

    パネルにアクセスすると、トップページはこんな感じです。

    WordPress

    管理画面の言語やフォントサイズ、カラーデザインなどは、ドロップダウンメニューで変更することが出来ます。

    WordPress

    左サイドメニューでデータベースを選択したら、次のような画面が現れます。

    phpmyadmin データベース

    WordPressのデフォルトのテーブルの数は、11個。
    (WordPress本体のバージョンアップに伴い、自動的に新しいテーブルが追加されたり、構造が変わることがありますが、基本的にテーブルそのものを手動で変更することはありません)

    それぞれのテーブルの働きは次の通りです。
    参考サイト:WordPress公式サイト データベース概要


    § SQLファイルの読み方

    まずファイルを開くと、次のような情報が現れます。

    WordPress

    phpMyadminやサーバー、PHPなどのバージョン情報が記載されています。

    ここで重要なのは、『データベース名』。

    データをインポートする場合は、ファイルを直接編集して、必ずデータベース名を一致させます。

    次に、Dumpされた各テーブルの情報が名前順に記載されます。各テーブルは、点線で区切られています。

    たとえば『wp_terms』の場合、【wp_】がインストール時に設定したテーブルの接頭語になります。

    【shop】という接頭語にすれば、テーブル名は、『shop_categories』と表示されます。

    次に、「CREATE TABLE IF NOT EXSISTS」で、「もしwp_termsが存在しないなら、これらのテーブルを作成する」という指示があり、term_ID、name、slugなど、さらに小テーブルに区分けされます。

    各テーブルに格納された情報は、INSERT INTO(インサート文)の形で出力されます。

    WordPress



    注意
    SQLファイルの日本語が文字化けしている場合、お使いのテキストエディタの文字コードが誤っている可能性があります。
    エンコードを『UTF-8』に設定して、再読込しましょう。
    文字化けしたまま上書き保存するとファイルが壊れてしまいます。

    次に、テーブルがどのように構成されているか、phpMyadminで見てみましょう。

    『wp_terms』のすぐ右のアイコン(表示)をクリックします。

    WordPress

    すると、『wp_terms』の中の「小テーブル」が表示されます。

    WordPress

    SQLファイルでは次のように表示されます。

    WordPress

    いわば、WordPressの管理画面から入力したデータは、これらの大テーブル&小テーブルに自動的に分類され、SQLファイルは、それをまとまった形で引き出すわけですね。

    よって、複数データを一気に、手早く編集したい場合は、いちいち管理画面を開かなくても、SQLファイルを直接編集することで可能になります。

    ただし、編集に過って1つでもコンマを飛ばしたり、大事な項目をうっかり削除してしまうと、最悪、サイト全体が壊れてしまうので、非常にハイリスクな作業ではあります。


    § データベースのバックアップ

    データベースの管理で非常に重要なのは、データのバックアップです。

    どこのレンタルサーバーも管理には細心の注意を払っていますが、それでも100%安全とは言えないのが世の中ですし、自分のミスで、すべてのデータが消し飛んでしまうこともあります。

    毎日のように更新しているサイトであれば1週間に1回、そうでなくても1ヶ月に1回は定期的にバックアップを行い、何かあっても、いつでもサイトが復元できるよう、つとめましょう。

    データのバックアップは、『WP-DBManager』『WP-DB-Backup』『Online Backup for WordPress』といった有名なプラグインが幾つか公開されていますが、phpMyadminを使っても簡単に出来ます。

    自分のデータベースがどうなっているか、自分の目で見て確認する為にも、phpMyadminを使った方法を是非マスターして下さい。

    まずメニュータブから『エクスポート』をクリックし、次の画面に映ります。

    データベース phpmyadmin エクスポート

    エクスポートするテーブルを選択します。
    全体のバックアップを取る時は『全選択(=青色表示)』、テーブルを指定して保存する場合は、いったん「全選択解除」を選び、ターゲットのテーブルをクリックすれば青色表示になります。(複数指定の場合は、Ctrキーを押しながらクリック)

    保存形式を選択します(通常、SQL)。

    WordPress

    次の項目にチェックを入れます。
    (何のことか解らなくても、その通りにしましょう。数値やドロップダウンをいじらないで!)

    WordPress

    次に「ファイルに保存する」を選択し、エンコーディングは「non」で、画面右隅の『実行』をクリックします。

    WordPress

    するとダイアログが出ますので、「ファイルを保存する」を選択し、「OK」をクリックします。

    WordPress

    次に保存場所とファイル名を指定して、『保存』をクリックします。

    ファイル名は自分が把握しやすいもの、日付を入れておくと分かりやすいです。

    WordPress

    データの大きさによっては少し時間がかかりますが、バックアップはこれで終了です。

    バックアップファイルはこんな感じ……

    WordPress

    このSQLファイルさえあれば、いつでも保存した時点の状態に再現することができます。

    ファイルが1点だけなので、うっかり削除してしまわないよう、注意して下さいね。

    SQLファイルの中身はこんな感じ。

    閲覧・編集する時は、『UTF-8』に対応したテキストエディタを使います。
    (他の文字コードで開くと文字化けしてします)

    WordPress

    また、SQLファイルのサイズが大きいと、エディタがクラッシュすることもあるので、自分の使うエディタが何MBまで読み込み可能か、事前にチェックしておきましょう。


    § サーバーのお引っ越し(データ移動とサイト復元)

    WordPressを長く運営していると、容量が大きくなったり、使い勝手が悪く感じたりで、サーバーを引っ越すこともあるかと思います。

    時には、WordPress本体のバージョンアップやプラグインの不具合などから、サイトが正常に表示されなくなり、サイトの復元が必要になる場合もあるかもしれません。

    WordPressの場合、SQLファイルに問題が無ければ、簡単にデータ移動やサイトの復元ができますので、今は必要なくても、いざという時の為に、基本の手順は理解しておいて下さいね。

    § データ移動&サイト復元の手順

    1. サイト用(画像、動画等)ファイルの保存
    2. データベースのバックアップ
    3. テーブル容量とサイト・ステータスの記録
    4. 新サーバーにWordPressをインストール
    5. SQLファイルのインポート
    6. テーブル容量の確認
    7. サイト・ステータスの確認とオプション設定
    8. 動画・画像等のファイルのアップロード


    § (1) サイト用ファイルの保存

    画像、動画など、投稿記事に挿入しているファイルや、運営に欠かせないファイルをパソコンに保存して、バックアップを取ります。

    WordPress

    投稿画面のアップローダーから画像や動画をアップしている方は、「wp-contents」の「uploads」に保存しているデータのバックアップも忘れずに。

    同じテーマ・テンプレートを使用する場合は、themes内のテンプレート・ファイルもしっかり保存しておきましょう。

    WordPress

    プラグインファイルやコアファイル(quicktag.jsなど)を個別に編集した場合は、ファイルそのものを保存するか、編集した箇所をメモしておきます。
    (日頃から、自分が手を加えた重要な箇所はしっかり記録しておきましょう)


    § (2) データベースのバックアップ

    SQLファイルのバックアップをとる要領は前述の通りですが、サーバー移転の場合は、「wp-options」のテーブルを外します。

    wp-optionsのデータをそのままインポートすると、旧サイトのURLアドレスなど、サイトの基本設定をそのまま受け継ぐため、サイトが旧アドレスに飛んだり、パーマリンク設定で躓いたりするからです。
    (「問題ない」という意見もありますが、サイトアドレスも変更するような場合は、絶対的に外した方がいいですよ。)

    同じサーバー上でサイトを復元する時は、「wp-options」を含めてOKです。

    この違いについて、しっかり認識しておいて下さい。

    あと、投稿記事数が何百にも及び、SQLファイルが大きい場合は、『wp-post』とそれ以外のテーブルを別個に保存→インポートした方が無難です。

    インポート容量を少しでも減らして、アップロードしやすくする為です。

    『wp-post』だけで数MBにもなる場合は、別々での作業をおすすめします。

    WordPress

    SQLファイルは、念のため、2回保存するか、コピーをとって別の場所にキープしておきましょう。


    § (3) テーブル容量とサイト・ステータスの記録

    データが完全な形でインポートされたか、後で確認する為に、現在のデータテーブルの容量とサイトステータスの記録を取っておきます。

    まず、メニュータブの『構造』をクリックし、データテーブルの情報を表示します。

    各テーブルのレコード数とサイズを記録します。
    1つ1つメモするのは大変なので、画面をキャプチャし、画像ファイルとして保存すれば便利です。

    WordPress

    次に、サイト・ステータスを記録します。

    管理画面「ダッシュボード」のこの部分です(画像には入っていませんが、コメント数も含みます)。
    投稿数、ページ、カテゴリー、タグ、コメント数をメモしておきます。

    WordPress


    § (4) 新サーバーにWordPressをインストール

    インストールの手順は、『WordPressをインストールしよう』と同じです。

    WordPressをインストールすれば、新しいデータベースに基本のテーブル10個が作成されます。

    wp-optionsをバックアップ・ファイルに含まない場合、wp-optionsテーブルは空になっています。

    今まで使用していた管理画面入室用のパスワードは使えなくなりますので、新しく発行されたパスワードを紛失しないよう、注意して下さい。


    § (5) SQLファイルのインポート

    SQLファイルをテキストエディタで開くと、冒頭に、次のような情報が現れます。

    新しいデータベースで使用する場合は、『データベース:”」で括られたデータベース名が一致するよう、エディターで編集して上書き保存します。

    コンマ1つ飛んでも正常にインポートされなくなるので、編集は慎重に。

    WordPress

    phpMyadminにアクセスし、メニュータブから『インポート』を選択します。

    『参照』をクリックして、インポートするSQLファイルを指定します。

    サーバーによっては、インポートできる容量のサイズが限られていますので、インポートするファイルの大きさを必ず確認して下さい。

    容量に問題がなければ、画面右隅の「実行する」をクリックします。

    ファイルの容量が3MBぐらいになってくると、読み込みに非常に時間がかかります。

    「一瞬、フリーズしたのか」と思うかもしれませんが、次のメッセージが現れるまで、リロードしたり、何度も実行ボタンを押したり、接続をリセットするような事は絶対に避けて下さい。

    WordPress

    成功すれば、『インポートは正常終了しました』というメッセージ画面が現れます。

    WordPress


    § (6) テーブル容量の確認

    『構造』の画面に戻り、テーブル容量が一致するかチェックします。

    若干、誤差が出る事がありますが、ほとんど同じ数値であればOKとします。

    ここで大きな誤差が出た場合は、残念ながら、インポートに失敗した可能性がありますので、もう一度、手順を確認し、一からやり直します。

    私も以前、何の確認もせずにサーバー移動を完了し、数ヶ月経ってから、過去記事のいくつかが抜け落ちていることに気付き、取り返しのつかない事をしてしまった経験があります。


    § (7) サイト・ステータスの確認とオプションの再設定

    新しく発行されたパスワードでWordPress管理画面に入室します。

    管理画面『ダッシュボード』を開き、投稿数やカテゴリー数など、サイト・ステータスが旧サイトと一致するか確認します。

    一致していれば、サイトURLやパーマリンクなど、オプションを再設定します。


    § (8) 動画・画像ファイル等のアップロード

    記事内に挿入している動画や画像ファイル、使用するテンプレート・ファイル等をアップロードします。

    サイトURLにアクセスして、問題なく表示されれば、引っ越し完了です。

    QR Code Business Card