WordPressを使っていると、「MySQLは何をしているの?」「記事や画像はどこへ保存されるの?」と疑問に感じることがありますよね。
WordPressでは、投稿本文、固定ページ、設定、ユーザーなどの情報をMySQLまたはMariaDBのデータベースへ保存します。一方、テーマ、プラグイン、アップロードした画像の実ファイルは、基本的にサーバー上のファイルとして保存されます。
この記事では、WordPressとMySQLの関係、主なテーブル、接続設定、バージョンの確認方法、「データベース接続確立エラー」が出たときの確認順、バックアップの考え方を初心者向けに解説します。
結論:MySQLはWordPressのデータを保存する場所
WordPressはPHPで動くCMSです。ページを表示するとき、PHPの処理がMySQLへ必要なデータを問い合わせ、取得した投稿本文や設定をHTMLとして組み立てます。
そのため、MySQLはWordPressの裏側で使われており、普段の記事投稿でSQLを書く必要はありません。管理画面で記事を保存すると、WordPressがデータベースへの登録を代わりに行います。

ブラウザから記事の表示を求められると、WordPressがMySQLから投稿や設定を取り出し、表示結果をブラウザへ返します。記事を更新したときは、反対にWordPressからMySQLへ変更内容が保存されます。
MySQLとは
MySQLは、関連するデータを表形式で管理するリレーショナルデータベース管理システムです。WordPressは、記事、ユーザー、設定などを役割別のテーブルへ分けて保存します。
WordPressはMySQLと互換性のあるMariaDBでも動作します。レンタルサーバーによって、MySQLまたはMariaDBのどちらが用意されているかは異なります。
WordPress公式の要件ページでは、MySQL 8.0以上またはMariaDB 10.11以上が推奨されています。要件は更新されるため、サーバーを選ぶときや移行するときはWordPress Requirementsで現在の推奨環境を確認してください。
データベースとファイルの違い
WordPressサイトを完全にバックアップするには、データベースだけでなくファイルも必要です。どちらに何が入るのかを整理しておきましょう。
| 保存場所 | 主に保存されるもの | 例 |
|---|---|---|
| MySQL・MariaDB | 文字情報、設定、関連付け | 投稿本文、タイトル、カテゴリー、ユーザー、サイトURL、プラグイン設定 |
| サーバー上のファイル | プログラムや画像の実体 | WordPress本体、テーマ、プラグイン、アップロード画像 |
メディアライブラリの画像では、画像ファイル自体は通常wp-content/uploadsに置かれます。画像のタイトル、代替テキスト、ファイルURLとの関連などはデータベースにも保存されます。
WordPressのデータベースには複数のテーブルがある
「WordPressには12個のデータベースがある」と説明されることがありますが、正確には、一般的なシングルサイトで1つのデータベース内にWordPress標準のテーブルが複数作られます。
ローカルWordPressでwp db tablesを実行すると、次の12個の標準テーブルが表示されました。

先頭のwp_はテーブル接頭辞です。インストール時の設定によって別の文字列になるため、すべてのサイトでwp_とは限りません。
また、プラグインは独自テーブルを追加することがあります。マルチサイトではサイトごとのテーブルやネットワーク用テーブルが増えるため、「必ず12個」と考えないでください。
主なテーブルと保存内容
すべて暗記する必要はありません。まずは、投稿、設定、ユーザー、カテゴリーがどのテーブルに分かれるかを理解すると、バックアップや不具合調査の説明を読みやすくなります。
| テーブル | 主な保存内容 |
|---|---|
wp_posts | 投稿、固定ページ、添付ファイル、カスタム投稿など |
wp_postmeta | 投稿に追加されたカスタムフィールドや補足情報 |
wp_options | サイトURL、テーマ、プラグインなどの設定 |
wp_users | ユーザーのログイン名、メールアドレスなど |
wp_usermeta | 権限、プロフィールなどユーザーの追加情報 |
wp_comments | コメント本文、投稿者、承認状態など |
wp_commentmeta | コメントの追加情報 |
wp_terms | カテゴリーやタグの名前 |
wp_term_taxonomy | カテゴリー、タグなど分類の種類 |
wp_term_relationships | 投稿とカテゴリー・タグの関連付け |
wp_termmeta | カテゴリーやタグの追加情報 |
wp_links | 旧リンク管理機能のデータ |
たとえば1件の記事でも、本文とタイトルはwp_posts、カスタムフィールドはwp_postmeta、カテゴリーとの関係はwp_term_relationshipsというように、複数テーブルへ分かれて保存されます。
WordPress内部ではwpdbクラスがデータベースとのやり取りを担当します。開発者向けの詳細はwpdbクラスの公式リファレンスで確認できます。
WordPressとMySQLの接続設定
WordPressがどのデータベースへ接続するかは、WordPressを設置したディレクトリにあるwp-config.phpで指定します。
次のコードは説明用の例です。実際のデータベース名、ユーザー名、パスワード、ホスト名はレンタルサーバーの管理画面で確認し、公開記事やチャットへ貼り付けないでください。
/** WordPressで使用するデータベース名 */
define( 'DB_NAME', 'database_name_here' );
/** データベースへ接続するユーザー名 */
define( 'DB_USER', 'username_here' );
/** データベースユーザーのパスワード */
define( 'DB_PASSWORD', 'password_here' );
/** データベースサーバーのホスト名 */
define( 'DB_HOST', 'localhost' );| 定数 | 役割 |
|---|---|
DB_NAME | WordPressが使うデータベース名 |
DB_USER | 接続に使うデータベースユーザー名 |
DB_PASSWORD | データベースユーザーのパスワード |
DB_HOST | データベースサーバーのホスト名。サーバー会社の指定に従う |
DB_HOSTはlocalhostとは限りません。ホスト名、ポート番号、ソケットの指定が必要な環境もあるため、推測で変更せず契約中のサーバー情報を確認します。
公式の設定例と注意点はwp-config.phpの公式ドキュメントに掲載されています。
MySQLのバージョンを確認する方法
WordPress管理画面で「ツール → サイトヘルス → 情報」を開き、「データベース」を展開すると、データベース拡張、サーバーバージョン、ホスト、テーブル接頭辞などを確認できます。

画像はローカル環境の実画面です。本番サイトでは値が異なります。問い合わせ時に情報を共有する場合も、データベースのパスワードは含めないでください。
管理画面へ入れない場合は、レンタルサーバーの管理画面にある「MySQL」「データベース」「サーバー情報」などの項目を確認します。項目名はサーバー会社によって異なります。
データベース接続確立エラーが出たときの確認順
「データベース接続確立エラー」は、WordPressがMySQLへ接続できないときに表示されます。すぐにデータベースを削除したり、値を何度も変更したりせず、次の順番で原因を切り分けます。
- 障害情報を確認する:レンタルサーバーの障害・メンテナンス情報を確認する
- 直前の変更を確認する:移行、パスワード変更、
wp-config.php編集の有無を確認する - 接続情報を照合する:
DB_NAME、DB_USER、DB_PASSWORD、DB_HOSTをサーバー管理画面と照らし合わせる - ユーザー権限を確認する:データベースユーザーが対象データベースへ接続できるか確認する
- サーバーへ問い合わせる:接続情報が正しく障害情報もない場合は、表示時刻とエラー内容を添えて相談する
wp-config.phpを編集する前に、元のファイルを安全な場所へコピーします。パスワードを変更した場合は、サーバー側とwp-config.php側が同じ値になっている必要があります。
phpMyAdminを使うときの注意点
phpMyAdminは、ブラウザからMySQLやMariaDBのテーブルを確認・操作する管理ツールです。レンタルサーバーの管理画面から開けることがあります。
テーブルの内容を直接編集すると、WordPress管理画面の操作よりも影響範囲を把握しにくく、誤操作でサイトが表示できなくなることがあります。
- 作業前にデータベースをエクスポートする
- 操作するデータベース名とテーブル接頭辞を確認する
- 意味が分からない行やテーブルを削除しない
- 検索・置換でシリアライズされたデータを壊さない
- 本番で試す前にローカルやステージングで確認する
記事タイトルやユーザー情報を変更するだけなら、通常はWordPress管理画面を使います。データベースを直接操作するのは、バックアップや復旧、移行、開発など目的が明確な場合に限りましょう。
WordPressのデータベースをバックアップする
データベースには記事や設定が入っているため、定期的なバックアップが必要です。更新、移行、プラグインの大きな変更、データベース操作の前にも取得します。
ただし、データベースだけでは画像、テーマ、プラグインを完全には復元できません。データベースとファイルを同じ時点の組として保存します。
| バックアップ | 含まれる主な内容 |
|---|---|
| データベース | 投稿、固定ページ、コメント、ユーザー、設定、各種関連付け |
| ファイル | WordPress本体、wp-content、画像、テーマ、プラグイン、wp-config.php |
バックアップは作るだけでなく、保存場所、保持期間、復元手順も決めます。公式のWordPress Backupsでは、データベースとファイルの両方を保存する考え方が説明されています。
phpMyAdminでエクスポートする場合は、対象データベースを選び、「エクスポート」からSQL形式で保存します。復元で既存データを置き換える操作は影響が大きいため、手順が分からない場合はサーバー会社へ確認してください。
テーマやプラグインからMySQLを操作するとき
テーマやプラグインを開発する場合でも、接続情報をコードへ直接書いたり、文字列をつないでSQLを作ったりするのは避けます。
- 投稿は
WP_Queryやget_posts()などWordPress APIを優先する - 設定はOptions API、メタデータはMetadata APIを使う
- 独自SQLが必要な場合は
$wpdbとプレースホルダーを使う - テーブル名を
wp_postsのように固定せず、接頭辞の違いを考慮する - 読み書きの前に権限、入力値の検証、エスケープを行う
初心者のうちは、MySQLを直接操作できることより、WordPress APIを通して安全にデータを扱うことを優先してください。
WordPressとMySQLのよくある質問
WordPressを使うにはMySQLの知識が必要ですか?
記事投稿や固定ページ作成では、SQLの知識がなくても操作できます。移行、復旧、開発、性能調査を行うときは、データベースとテーブルの基本を理解していると安全です。
MySQLとMariaDBはどちらを選べばよいですか?
利用中のレンタルサーバーがWordPressの推奨要件を満たし、保守しているものを選びます。共用サーバーでは利用者が種類を選べない場合もあります。
画像はMySQLに保存されますか?
通常、画像ファイルの実体はwp-content/uploadsへ保存されます。画像を管理するための投稿データやメタデータはデータベースにも保存されます。
テーブルを削除すると容量を減らせますか?
不要に見えても、テーマやプラグインが使用している可能性があります。作成元と用途を確認できないテーブルは削除せず、バックアップを取ってから開発者やサーバー会社へ相談してください。
まとめ
MySQLは、WordPressの記事、設定、ユーザー、カテゴリーなどを保存するデータベース管理システムです。
- 一般的なシングルサイトでは、1つのデータベース内に複数の標準テーブルがある
- プラグインやマルチサイトによってテーブル数は増える
- 接続情報は
wp-config.phpで管理する - バージョンは「ツール → サイトヘルス → 情報」で確認できる
- バックアップはデータベースとファイルをセットで保存する
- 意味が分からない状態でphpMyAdminから直接編集・削除しない
まずはサイトヘルスで自分のデータベース情報を確認し、投稿・設定・ファイルがどこに保存されるのかを整理してみてください。
