WordPressとデータベースの基礎知識

この記事は最終更新日から70日経過しています。

前回のレッスンWordPressで使うPHPの基礎知識

WordPressでは、すべてのページでデータベースとのやり取りが発生しています。

そのため私たちは、データベースなくしてWordPressを運営することができません。

ですが、データベースは私たちの目から直接見えるものではないため、データベースがどういったものか、なかなか理解しづらいといった短所があります。

この記事では、データベースの基礎知識について、WordPressとの関係から見ていきましょう。

スポンサーリンク




目次

データベースとは?

データベースを簡単にいうと、Webサイトで使用するデータを保存・管理する仕組みです。

データベースには、データをただ保存するだけではなく「データを整理して保存する」「データを活用しやすくする」という2つの役割があります。

データベースの役割

  1. データを整理して保存する
  2. データを活用しやすくする

データをただ保存するだけであれば、データベースでなくても紙やファイルに保管すれば問題ありません。

しかし、Webサイトの情報はただ保存するだけではなく、その情報を取り出して利用しなければなりません。

データを利用する場面もさまざまですが、たとえば「顧客情報の中から30代以上の男性に限定して、Webページにキャンペーンの告知を表示したい」といった場合にもデータベースを活用できます。

データベースに「年齢」や「性別」ごとに項目を作成しておけば、上のようなデータを簡単に取り出すことができます。

データを効果的に活用するためには、データを取り出しやすいように整理して保管しておくことが重要です。

もし、データを整理せずに乱雑に保管してしてしまうと、データを検索して取り出すのに時間がかかってしまいます。

私たちの生活でも、どこに何を収納しているのかが分からない状況では探したいものを見つけるのに時間がかかってしまいますね。

探しものをできる限り早く見つけることも、データベースの役割の一つです。

データを整理して保管しておくことで、より速く、より効果的にデータを活用することができます。

image

データを効果的に活用できるように、整理して保存する仕組みがデータベースなのですね。

データベースの種類

image

データベースにもさまざまな種類があります。どのようなデータベースがあるのか一例を見てみましょう。

① Oracle Database

Oracle Database(オラクルデータベース)は、Oracle社が開発した商用のデータベースです。
高機能で価格も高額なため、企業などで大規模なデータ管理に利用されています。

② MySQL

MySQL(マイエスキューエル)は世界でもっとも広く利用されているオープンソースのデータベースです。

image

オープンソースというのは誰でも無料で使用できて、プログラムの改変や再配布も自由におこなえるソフトウェアのことです。

オープンソースのため、基本は無償で利用できますが、商用利用のものもあります。

高速でPHPとの相性も良いことが特徴で、WordPressが利用を推奨しているデータベースが、MySQLです。

WordPressを利用できるレンタルサーバーの多くがMySQLを採用しています

③ MariaDB

MariaDB(マリアディービー)は、MySQLと同じ技術者が開発したオープンソースのデータベースです。

MySQLと同様の機能を持っていて、MySQLと同じく、WordPressが推奨するデータベースに挙げられています。

④ PostgreSQL

PostgreSQL(ポストグレスキューエル)もまた、無料で使用できるオープンソースのデータベースです。

MySQLに比べて高機能で、商用のOracle Databaseにも劣らない機能を有しています。

WordPressではMySQLが推奨されていますが、プラグインを使用することでデータベースをPostgreSQLへ変更することもできます。

WordPressにはMySQLが必須

「データベースの種類」でも触れましたが、WordPressではMySQLまたはMariaDBが推奨されています

⇒ WordPressのサーバー要件

多くのレンタルサーバーはデータベースにMySQLを採用しています。

そのため、WordPressの導入にあたって、データベースで問題が起こることは考えにくいでしょう。

念のため、レンタルサーバーを契約する前にはサーバーの仕様にMySQLの表記があるか確認しておきましょう。

▲ ロリポップ!レンタルサーバーのサーバー情報

データベースの場所はどこ?

MySQLはデータベースサーバーという一つのサーバーの中で動いています。

データベースサーバーは、WebサーバーやWordPressをインストールしているAPサーバーと呼ばれるサーバーと同じシステムの中に、独立したサーバーとして存在しています

WordPressはブラウザから操作できますが、MySQLは命令を入力して操作するコマンドラインツールと呼ばれるツールを利用するのが一般的です。

▲ Macのコマンドラインツール【ターミナル】

そのため、データベースがどういった構造で、どういった動きをするのかといった点がわかりにくいというデメリットがあります。

そういった問題を解消するために、「phpMyAdmin」という、MySQLをブラウザから視覚的に操作できるツールが存在します。

▲ ブラウザからMySQLを操作できる【phpMyAdmin】

初心者の方のように、コマンドラインツールをあつかい慣れていない場合は、phpMyAdminを使用してデータベースの操作方法を視覚的に理解していただくのが良いでしょう。

phpMyAdminを利用してデータベースを操作する方法については、データベースを確認するをご覧ください。

WordPressとデータベースの連携の仕組み

WordPressとデータベースの連携には、大きく分けて2つの動きがあります。

  1. データベースへのデータの書き込み
  2. データベースからのデータの取得

WordPressはサイトの情報をデータベースへ保存して、必要に応じて取得し、サイトに表示しています。

それぞれの動きについて、具体的に見てみましょう。

1. データベースへのデータの書き込み

WordPressで情報の更新があった時に、その情報をデータベースへ書き込みます

たとえば、ユーザーが記事を公開した時の動きは、次のようになります。

① ユーザーが記事を公開する

ユーザーがWordPressの管理画面から記事を公開して、記事のデータをWordPressへ送ります。

② WordPressが記事のデータをデータベースに渡す

WordPressは、公開された記事のデータを受け取り、整理してデータベースに渡します。

③ データベースがWordPressに結果を返す

データベースは受け取ったデータを書き込み、WordPressに処理の結果を返します。

書き込みに成功した時には成功したことを返し、失敗した時にはエラーを返します。

④ WordPressが結果をユーザーに伝える

WordPressは、データベースから返って来た結果をページに表示してユーザーに伝えます。

上の流れを一つにまとめると、次のようになります。

  1. (ユーザー)記事を公開する
  2. (WordPress) 記事のデータを受け取りデータベースへ渡す
  3. (データベース)データを書き込み、処理の結果をWordPressに返す
  4. (WordPress) ユーザーに結果を伝える

2. データベースからのデータの取得

WordPressがページを生成する時に必要なデータをデータベースから取得します

動的ページの生成については、PHPの記事もご参考ください。

WordPressが、データを取得してページを表示するまでの流れは次のようになります。

① ユーザーがURL(ページ)にアクセスする

ユーザーが、見たいページのURLにアクセスします。

② WordPressがページの情報をデータベースに要求する

WordPressはURLを受け取ると、ページに必要な情報をデータベースに対して要求(リクエスト)します。

③ データベースがデータをWordPressへ返す

データベースは、WordPressからリクエストされたデータを取得してWordPressへ返します。

④ WordPressがページを生成して表示する

WordPressは、データベースから返って来たデータをもとにページを生成して表示します。

上の流れを一つにまとめると、次のようになります。

  1. (ユーザー)URLにアクセスする
  2. (WordPress) URLを受け取り、データベースにデータを要求する
  3. (データベース) データをWordPressへ返す
  4. (WordPress) ページを生成して表示

WordPressとデータベースの接続方法

具体的に、WordPressをデータベースと接続する方法について見てみましょう。

ここからは、サイト制作などのご経験のない方には少し難易度が高い内容になります。

データベースの接続に失敗してしまうと、WordPressにアクセスした時に「データベース接続エラー」というエラーが表示されてしまいます。

▲ データベース接続エラーの場合に表示される画面

このようなエラーが表示された場合は、これからおこなうWordPressとデータベースの接続方法に沿って、接続の設定が正しくおこなわれているか確認しましょう。

image

データベースとWordPressの接続は、レンタルサーバーの簡易インストールを利用するとサーバーがすべておこなってくれます。簡易インストールを使用しない場合やサーバーの引っ越しの時などには接続方法を確認しましょう。

WordPressとデータベースの接続

WordPressとデータベースの接続には、WordPress内のwp-config.phpというファイルの接続情報の書き換えが必要です。

① 接続するデータベース情報を確認する

まず、WordPressと接続するデータベースの情報をサーバーの管理画面から確認しましょう。

WordPressとデータベースの接続には次の情報が必要になります。

  1. データベース名
  2. データベースユーザー名
  3. データベースパスワード
  4. データベースホスト名

各項目はレンタルサーバーごとに異なる名前で管理されていることがあります。

下図を参考に、どのような値が必要なのか確認して、値から情報を判断できるようにしましょう。

ロリポップのデータベース管理画面では、「データベースホスト名」が「サーバー」という項目になっています。

▲ ロリポップ!のデータベース確認画面

上の例では、各項目が次のように対応しています。

データベース名LAA0915537-db
データベースユーザー名LAA0915537
データベースパスワードデータベース作成時に設定した値
データベースホスト名mysql129.phy.lolipop.lan

② wp-config.phpを開く

FTPソフトや、サーバーのファイルマネージャーを開いてWordPressをインストールしたフォルダにアクセスします。

image

ファイルマネージャーというのは、ブラウザからダウンロードやアップロードなどのファイル操作ができる管理ツールです。多くのレンタルサーバーにはファイルマネージャーが用意されています。

フォルダの一番上の階層にあるwp-config.phpをテキストエディタなどで開きましょう。

③ wp-config.phpを書き換える

wp-config.php内にある次の項目を、①で確認した値に書き換えましょう。

  • DB_NAME
  • DB_USER
  • DB_PASSWORD
  • DB_HOST

以上の流れが、WordPressとデータベースの接続方法になります。

データベース接続エラーが起こっている時には、書き換えた接続情報でページが正しく表示されていることを確認しましょう。

データベースにphpMyAdminで接続する

image

データベースにphpMyAdminで接続する方法を見てみましょう。接続は簡単です。

① phpMyAdminを開く

レンタルサーバーの管理画面からphpMyAdminを開きましょう。

データベースを確認できる画面などから、phpMyAdminへアクセスすることができます。

② phpMyAdminにログインする

ログイン画面で次の情報を入力、または選択して実行をクリックしましょう。

  • データベースユーザー名
  • データベースパスワード
  • データベースホスト名

phpMyAdminの画面が表示されたら、接続は完了しています。

画面左にデータベース名が表示されていることを確認しましょう。

WordPressのデータベースの構造

image

phpMyAdminでデータベースに接続できたら、データベースの構造を確認してみましょう。

phpMyAdmin画面の左に表示されているデータベース名をクリックします。

データベース名をクリックするとテーブル一覧が表示されます。

ここに表示されている、それぞれのテーブルの中にデータが入っています。

image

テーブルはデータを一定のくくりで管理するための仕組みです。

たとえば、「商品情報」や「顧客情報」などのように、管理するテーブルを分けることでデータを効率的に管理・利用することができます。

ここではデータベースの基本となる知識については触れませんので、くわしくは専門サイトや参考書などをご確認ください。

たとえば、wp1_postsというテーブルをクリックしてみましょう。

テーブル名のwp1_の部分は、WordPressをインストールしたサーバーの設定によって異なります。wp_postsのようなテーブル名になっている場合もあります。

テーブルが開いて、テーブル内で管理されているWordPressの記事データを確認することができます。

テーブルで管理されるデータ

WordPressは初期の状態では、全部で12個のテーブルでデータを管理しています。

特定のプラグインを追加したり、WordPressの機能の一つであるマルチサイト機能を使用すると、さらにテーブルが追加されます。

初期のテーブルが、それぞれどのようなデータを扱っているのか簡単に見てみましょう。

wp_commentmeta投稿記事に付いたコメントのメタデータ
wp_comments投稿記事に付いたコメント・トラックバック・ピンバックデータ
wp_linksリンク作成機能で作成されたリンク情報
wp_options[管理画面]>[設定]から設定されたオプション設定情報
wp_postmeta投稿記事や固定ページのメタデータ
wp_posts投稿記事や固定ページ・ナビゲーションメニューのデータ
wp_termsカテゴリやタグに使われる語句の基本情報
wp_termmeta各タームのメタデータ
wp_term_relationships「投稿記事・リンク」と「カテゴリー・タグ」の関連付け情報
wp_term_taxonomyカテゴリーやタグのデータ
wp_usermetaユーザー情報のメタデータ
wp_usermetaユーザー情報

メタデータとは?

メタデータとは、記事やカテゴリー・ユーザー情報などのメインとなるデータに対して追加される情報のことです。

たとえば、ユーザーに対して設定する「管理者」「投稿者」といった権限は、ユーザー情報のメタデータとしてwp_usermetaテーブルに保管されます。

image

WordPressでは、画像ファイルやテーマファイル・プラグインファイルなどを除いて、WordPress内のほぼすべての情報がデータベースで管理されています。

データベースのバックアップと復元

これまで見てきたように、WordPressはサーバーにインストールして利用するWebアプリケーションです。

そのため、WordPressを構成するファイルやデータはすべてサーバー側にあります。

すべてのファイルやデータがサーバーにあるということは、たとえば、何らかの理由でサーバーにアクセスできなくなってしまったら、WordPressを元の状態に戻せなくなってしまいます。

他にも、WordPress本体やプラグインのアップデートで意図しないエラーが出て画面が真っ白になってしまったら、原因を解決するまで、せっかくアクセスしてくれたユーザーを真っ白な画面のまま待たせてしまうことになります。

そういったことが起こらないように、WordPressでWebサイトを運用する時はバックアップをとっておく必要があります。

バックアップとは、ある一定時点のWordPressのファイルやデータベースのコピーのことです。

WordPressのデータのコピーをとっておくことで、万が一WordPressに問題が起こった時もバックアップデータを使ってすぐに元の状態に戻すことができます。

データベースのバックアップは、プラグインを利用してWordPress本体のバックアップと同時におこなうことができますが、ここではphpMyAdminを使用してバックアップを取る方法をご紹介します。

データベースのバックアップ(エクスポート)

① バックアップを取るデータベースを開く

phpMyAdminから、バックアップを取りたいデータベースをクリックします。

② 「エクスポート」をクリックする

テーブル一覧画面が表示されますので、エクスポートをクリックします。

③ 「詳細」を選択する

エクスポート方法の詳細 – 可能なオプションをすべて表示を選択します。

③ テーブルがすべて選択されていることを確認する

テーブルがすべて選択されていることを確認します。

すべて選択されていない場合は、全選択をクリックしましょう。

④ 出力方法を設定する

出力をファイルに保存するを選択し、圧縮なしを選択します。

⑤ フォーマットを設定する

フォーマットでSQLを選択します。

⑥ 生成オプションを設定する

生成オプションで、DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT コマンドを追加するにチェックを入れます。

そして、IF NOT EXISTSにチェックが入っていることを確認します。

image

この2つのオプションを設定することで、データベース復元時にエラーを出すことなくデータを上書きできます。忘れずにチェックを入れましょう。

⑦ エクスポートを実行する

実行をクリックしてエクスポートを実行します。

⑧ ダウンロードされたデータを確認する

最後に、PCにデータベース名.sqlというファイルがダウンロードされていることを確認しましょう。

データベースの復元(インポート)

① 復元したいデータベースを選択する

復元したいデータベースを選択します。

② 「インポート」をクリックする

テーブル一覧画面が表示されますので、インポートをクリックします。

② インポートするファイルを選択する

インポートするファイルファイルを選択をクリックします。

エクスポートしたSQLファイルを選択します。

③ フォーマットを選択して実行する

フォーマットでSQLを選択して、実行をクリックします。

④ インポートを確認する

インポートが正常に終了したことを知らせるメッセージが表示されたことを確認しましょう。

image

WordPressではプラグインを利用してファイルやデータベースのバックアップを取ることができます。

phpMyAdminを利用したデータベースのバックアップは、使用する機会は多くありませんが、こんな方法があるということを覚えておいて損はないでしょう。

まとめ

データベースとは?

  • データベースはWebサイトで使用するデータを保存・管理する仕組み
  • データベースには「データを整理して保存する」「データを活用しやすくする」という二つの役割がある

データベースの種類

  • データベースには一例として「Oracle Database」「MySQL」「MySQL」「MariaDB」「PostgreSQL」などがある

WordPressにはMySQLが必須

  • WordPressではデータベースにMySQLが推奨されている

データベースの場所はどこ?

  • データベースはデータベースサーバーの中で動いている
  • データベースサーバーはWebサーバーやAPサーバーと同じシステムの中にある
  • データベースの操作はコマンドラインツールを使用するのが一般的
  • MySQLはphpMyAdminというブラウザから操作できるツールがある

WPとDBの連携の仕組み

  • WordPressとデータベースとの連携は「データベースへのデータの書き込み」と「データベースからのデータの取得」の2つがある

WPとDBの接続方法

  • WordPressのwp-config.php内にある接続情報を書き換えてデータベースに接続する

DBにphpMyAdminで接続する

  • レンタルサーバーの管理画面からphpMyAdminを開いてデータベースに接続する

データベースの構造

  • WordPressのデータベースは12個のテーブルでデータを管理している

DBのバックアップと復元

  • WordPressを運営する際は、サーバーにアクセスできなくなったり、エラーが起こってしまった時のためにバックアップを取っておく
  • バックアップとは、ある一定時点のWordPressのファイルやデータベースのコピーのこと
  • データベースのバックアップはphpMyAdminからもおこなうことができる

次のレッスンへドメインとは? - ドメインの基礎知識

「WordPress初心者入門」のトップへ

WordPressの基礎を体系的に学びたい方のために

WordPressの基礎を体系的に学習したい方向けの著書が発売になります。

本書の手順に沿ってサイトを作成していただくだけで、WordPressの操作方法やサイト作成の基礎を学べる構成になっています。

これからWordPressでサイト作成を始めようと考えているけど、何から始めれば良いか迷っている。

本書はそんな方のための一冊です。

ぜひお手にとってご覧いただければ嬉しく思います。

スポンサーリンク




シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク