データベーステーブルの接頭辞($table_prefix)とは
よく耳にする「データベーステーブルの接頭辞」とは何なのでしょうか?
WordPressでデータベース接続確立エラーなどが発生したときに復旧手順をネット検索すると「データベーステーブル接頭辞($table_prefix)を修正してください」のような説明を見かけることもあります。
また、「設定エラー:wp-config.php ファイル内でデータベーステーブル接頭辞が空になっています」のようなエラーメッセージが表示されて焦っている方もいるでしょう。
ここでは、データベーステーブルの接頭辞($table_prefix)とは何か、また、修正する場合はどこをどのように直せば良いのか説明します。
この記事の内容
データベーステーブルの接頭辞($table_prefix)とは
データベーステーブル接頭辞とは、WordPressで使うデータベースに含まれるテーブルの名前の先頭に付いている文字です。
一般的な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をインストールしたフォルダを開いたら画面右側のファイル一覧から「wp-config.php」を見つけます。紛らわしいファイル名がいくつかあるので注意してください。
見つけたwp-config.phpを右クリックして「編集」メニューを選択します。
開いたファイルから「MySQL データベースのパスワード」を探します。
このうち、'と'で挟まれた文字(例:'abcd1234')がパスワードです。
この文字をデータベース管理ツールのログイン画面でパスワードとして入力します。
データベース管理ツールが開くので画面左上のデータベース名をクリックします。
データベーステーブルが一覧表示されます。
このテーブル名の最初の方に付いている文字がデータベーステーブル接頭辞です。
この例の場合は「wp0e2ecc」になります。
といっても、どこまでが最初の方の文字かわかりづらいかもしれません。
そんなときはテーブル名の最後に「users」という文字が付いたテーブルを探してください。
テーブル名のうち「users」を除いた文字が接頭辞です。紛らわしいですが、この例では「wp0e2ecc」になります。
テーブル接頭辞がいくつもある場合
1つのデータベースに複数サイトをインストールしてしまった場合、複数のテーブル接頭辞が見つかる場合があります。
調べたいサイトの接頭辞がどれなのか見極めるには、テーブル名の最後が「options」になっているテーブルを探してください。
テーブル名をクリックすると、画面右側にテーブルのデータが一覧表示されます。
一覧されたデータからoption_nameが「blogname」の行を見つけます。この行のoption_valueに書かれた文字がサイト名になります。この部分を見て、目的のサイトの接頭辞なのか判断してください。
目的のサイトでなかった場合は別の接頭辞を持つoptionsテーブルを開いてサイト名を確認しましょう。
テーブル接頭辞の修正(wp-config.php)
ここまでに調べたのは現在動作中のWordPressのテーブル接頭辞になります。
この文字がWordPressの設定ファイル(wp-config.php)で指定された文字と一致しないと問題が起きます。さっそく確認しましょう。
具体的には上記の説明で使ったファイルマネージャで現在のWordPressの設定ファイル(wp-config.php)を開いて「WordPressデータベーステーブルの接頭辞」を探し、$table_prefixの部分に指定します。
書式は「$table_prefix = 'abcd1234';」です。
abcd1234の部分に ' と ' で囲んで指定します。
'を消さないように注意してください。また、消してしまった場合、' は半角で入力してください。全角で ’ と入力するとエラーになります。
これで、データベーステーブル接頭辞にまつわる問題は解決するはずです。