データベーステーブルの接頭辞($table_prefix)とは

よく耳にする「データベーステーブルの接頭辞」とは何なのでしょうか?

WordPressでデータベース接続確立エラーなどが発生したときに復旧手順をネット検索すると「データベーステーブル接頭辞($table_prefix)を修正してください」のような説明を見かけることもあります。

また、「設定エラー:wp-config.php ファイル内でデータベーステーブル接頭辞が空になっています」のようなエラーメッセージが表示されて焦っている方もいるでしょう。

ここでは、データベーステーブルの接頭辞($table_prefix)とは何か、また、修正する場合はどこをどのように直せば良いのか説明します。

データベーステーブルの接頭辞($table_prefix)とは

データベーステーブル接頭辞とは、WordPressで使うデータベースに含まれるテーブルの名前の先頭に付いている文字です。

「テーブル」とはダッシュボードから入力されたデータを保存する箱のようなものです。用途に応じて異なるテーブルに保存されるため一般的にWordPressでは10個以上のテーブルが作成されます。

一般的なWordPressでは用途に応じて「wp_users」や「wp_options」「wp_posts」のような名前のテーブルが作成されます。このテーブル名のなかで先頭の方で共通している文字「wp_」がデータベーステーブルの接頭辞です。

この接頭辞は自由に決められます。たとえば、「wp_」の代わりに「abcd」として「abcdusers」や「abcdoptions」「abcdposts」のような名前のテーブルを作成することができます。

接頭辞を自由に決められるメリットは次の2つです。

  • 既知のテーブル名を使わないことでセキュリティ対策できる
  • 1つのデータベースに複数のWordPressをインストールできる

その一方、サーバー移転などのタイミングで実際のテーブル接頭辞と設定ファイル(wp-config.php)の接頭辞がズレてしまい、トラブルが起きることもあります。

ですから、現在のデータベースのテーブル接頭辞がどうなっているのか、設定ファイル(wp-config.php)のテーブル接頭辞はどこに書くのかを知っておくことは、将来的なトラブルを防止する点でも重要かもしれません。

データベーステーブルの接頭辞の確認

そんなわけで、自分のサイトの状況が気になる方もいるでしょうから、レンタルサーバーのデータベース管理ツール(phpMyAdmin)にログインして具体的にテーブル接頭辞を確認してみましょう。

ここでは、さくらインターネットのサーバコントロールパネルを使う例で説明しますが他のレンタルサーバーでも考え方は同じです。

データベース管理ツールにログイン

さくらインターネットのサーバコントロールパネルから「データベースの設定」をクリックします。

「データベースの設定」をクリック
「データベースの設定」をクリック

「管理ツールログイン」をクリックします。

「管理ツールログイン」をクリック
「管理ツールログイン」をクリック

ユーザー名とパスワードを入力、サーバーを選択して「実行」ボタンをクリックします。

ログイン情報を入力
ログイン情報を入力

ユーザー名とサーバー番号は直前の画面で確認できます。

ユーザー名とサーバー番号の確認
ユーザー名とサーバー番号の確認

パスワードを思い出せない場合、設定ファイル(wp-config.php)の「MySQLのパスワード」で確認できます。

よくわからないときは次の手順で確認してください。

さくらインターネットのサーバコントロールパネルの「ファイルマネージャ」をクリックします。

「ファイルマネージャ」をクリック
「ファイルマネージャ」をクリック

開いたファイルマネージャで、画面左側のフォルダツリーをクリックしながらWordPressをインストールしたフォルダを開きます。

WordPressをインストールしたフォルダを開く
WordPressをインストールしたフォルダを開く

WordPressをインストールしたフォルダを開いたら画面右側のファイル一覧から「wp-config.php」を見つけます。紛らわしいファイル名がいくつかあるので注意してください。

wp-config.phpを見つける
wp-config.phpを見つける

見つけたwp-config.phpを右クリックして「編集」メニューを選択します。

wp-config.phpの「編集」をクリック
wp-config.phpの「編集」をクリック

開いたファイルから「MySQL データベースのパスワード」を探します。

「MySQL データベースのパスワード」を見つける
「MySQL データベースのパスワード」を見つける

このうち、'と'で挟まれた文字(例:'abcd1234')がパスワードです。

この文字をデータベース管理ツールのログイン画面でパスワードとして入力します。

データベース管理ツールでパスワードを入力
データベース管理ツールでパスワードを入力

データベース管理ツールが開くので画面左上のデータベース名をクリックします。

データベース名をクリック
データベース名をクリック

データベーステーブルが一覧表示されます。

データベーステーブルが一覧表示される
データベーステーブルが一覧表示される

このテーブル名の最初の方に付いている文字がデータベーステーブル接頭辞です。

この例の場合は「wp0e2ecc」になります。

テーブル名の最初の方が「接頭辞」
テーブル名の最初の方が「接頭辞」

といっても、どこまでが最初の方の文字かわかりづらいかもしれません。

そんなときはテーブル名の最後に「users」という文字が付いたテーブルを探してください。

usersテーブルを探す
usersテーブルを探す

テーブル名のうち「users」を除いた文字が接頭辞です。紛らわしいですが、この例では「wp0e2ecc」になります。

テーブル接頭辞
テーブル接頭辞

テーブル接頭辞がいくつもある場合

1つのデータベースに複数サイトをインストールしてしまった場合、複数のテーブル接頭辞が見つかる場合があります。

複数のテーブル接頭辞がある
複数のテーブル接頭辞がある

調べたいサイトの接頭辞がどれなのか見極めるには、テーブル名の最後が「options」になっているテーブルを探してください。

optionsテーブルを探す
optionsテーブルを探す

テーブル名をクリックすると、画面右側にテーブルのデータが一覧表示されます。

optionsテーブルの中身を確認
optionsテーブルの中身を確認

一覧されたデータからoption_nameが「blogname」の行を見つけます。この行のoption_valueに書かれた文字がサイト名になります。この部分を見て、目的のサイトの接頭辞なのか判断してください。

サイト名を確認
サイト名を確認

目的のサイトでなかった場合は別の接頭辞を持つoptionsテーブルを開いてサイト名を確認しましょう。

別のoptionsテーブルでサイト名を確認
別のoptionsテーブルでサイト名を確認

テーブル接頭辞の修正(wp-config.php)

ここまでに調べたのは現在動作中のWordPressのテーブル接頭辞になります。

この文字がWordPressの設定ファイル(wp-config.php)で指定された文字と一致しないと問題が起きます。さっそく確認しましょう。

具体的には上記の説明で使ったファイルマネージャで現在のWordPressの設定ファイル(wp-config.php)を開いて「WordPressデータベーステーブルの接頭辞」を探し、$table_prefixの部分に指定します。

データベーステーブル接頭辞を探す
データベーステーブル接頭辞を探す

書式は「$table_prefix = 'abcd1234';」です。

abcd1234の部分に ' と ' で囲んで指定します。

'を消さないように注意してください。また、消してしまった場合、' は半角で入力してください。全角で ’ と入力するとエラーになります。

これで、データベーステーブル接頭辞にまつわる問題は解決するはずです。