データベースの接頭辞とは?【デフォルトのままだと危険!今すぐ変えよう】

このブログは、さくらのレンタルサーバお名前.comを使って作られていますので

データベースの接頭辞について書かれたこの記事を読む方は、

この記事はさくらのレンタルサーバお名前.comに基づいてデータベースの接頭辞について書かれているので

その他の手段で、WordPressでサイトやブログを作られている場合は、少し戸惑うかも知れません。

 

しかし、本質の部分では他に活かせる内容ですのでこのまま読み進ませても構いません。

とは言うのも、さくらインターネットが採用しているデータベースはMySQLです。

このMySQLは他のサーバー提供会社もほとんどが採用しているデータベースなので

データベースとその接頭辞を、さくらインターネットのサイト形式で表示させているだけなので

MySQLのデータベースと接頭辞の本質的な理解はできるとは思います。

 

しかし、まだ自分のWEBサイトを作っていない方でしたら

をするならば、このブログにある他の記事もスムーズにお読み頂けるかと思います。

 

データベースの接頭辞の最適な設定方法をする為には、その前に

ドメインをお名前.comで取得し、さくらのレンタルサーバを契約した後は

  1. ドメインをレンタルサーバーで使えるようにする為の作業
  2. データベースの作成

を行わなければなりません。

しかし、上の1. 2.は以下の記事をお読み頂ければクリアできますので是非お読みください。

この記事はWordPressサイト運営において必須の記事ではありませんが、以下の記事は必須なので熟読ください。

以下の記事もデータベースについて書かれた記事なので併せて読むことをオススメします。

それでは、本題であるデータベースの接頭辞について以下より書いていきます。

データベースの接頭辞が初めて出て来る時は?

それは、「WordPressをインストールする時」です。

 

サーバーコントロールパネルにアクセスし、ログインします。

サーバーコントロールパネル

 

「Webサイト/データ」 >「 クイックインストール」 と表示させて、「クイックインストール」をクリックします。Webサイト/データ > クイックインストール と表示させてクイックインストールをクリックします。

 

「クイックインストール」が表示されます。「WordPress」をクリックします。

クイックインストール画面が表示されます。

「WordPressのインストール」が表示されます。

WordPressインストール画面が表示されます。

 

上の「WordPressのインストール」のスクリーンショットで、

「テーブルの接頭語」がありますが、これは「テーブルの接頭辞」のことです。

 

そもそも、データベースの接頭辞とは?

WordPressインストール画面が表示されます。

 

上のスクリーンショットを見ながらお読み下さい。

 

お名前.comで取得した「yujiyamazato.com」というドメインを

さくらのレンタルサーバで使えるようにしようとしているところです。

 

「yujiyamazato_sakuradatabase1@mysql699.db.sakura.ne.jp」

というデータベース以外にも、他にもデータベースがありますが、

この、「yujiyamazato_sakuradatabase1@mysql699.db.sakura.ne.jp」

というデータベースを利用しようと思います。

 

データベースを作れる数の上限は、プランによって違います。

データベースが1つしか作れないレンタルサーバーもあれば、

さくらインターネットのレンタルサーバーのように、複数作れるレンタルサーバーもあります。

 

「作れるデータベース数の上限があるなら、サイトを今後いくつ作るわからないし、

データベースはできるだけ作らない方が良いよね。」と、思いますよね。

 

はい。その通りでして、実際に出来るだけデータベースを作らない方が良いです。

 

1つのデータベースに複数のドメインを割り当てる

つまり、データベースをできるだけ作らないようにする為には、

1つのデータベースに複数のドメインを割り当てれば良いということです。

そう、1つのデータベースに、複数のドメインを使う時にその複数のドメインを分けるために、

「接頭辞」というもの使います。

 

・・・文字では上手く伝えれないので、データベースの解説図で解説します。

接頭辞の説明図

 

1つのデータベースに上限3ドメイン

「1つのデータベースに、複数のドメインを割り当てれば良い。」とは言いましたが、

上限を3ドメインにしておきます。

それ以上だとデータベースに高い負荷がかかり、サーバーダウン→サイト非表示 になってしまいます。

データベースの上限は知らなくても、契約しているレンタルサーバーで予め決められているのですが、

それに対してデータベースに割り当てるドメイン数の上限はシステム上設けられていなくて、

知らなければ、1つのデータベースに20、30ドメインを割り当てるという状況になってしまいます。

僕が過去に10ドメインを割り当てていました(笑)

 

ブロガーならばそこまでサイトを作りませんが、

サイトアフィリエイターだとサイトを量産しがちなので、そこは注意しましょう。

 

以上で接頭辞のことは理解できたかと思います。

以下さらに、タイトルで述べた危険性について解説します。

デフォルト生成接頭辞「wp~」は危険

接頭辞が、[wpgk1k20l]のように、「wp~」から始まっていますが、

先ほど出た以下のスクショで、

WordPressインストール画面が表示されます。

特にここで接頭辞を変えずにそのまま設定すると、「wp(ランダムな文字列)」が自動的に接頭辞が生成されます。

本当は、ここで自分で決めたランダムな接頭辞を決めるべきですが、

(当時の僕も含めた)初心者の方は、デフォルトでランダムなwpから始まる接頭辞を設定しがちです。

デフォルトでランダムなwpから始まる接頭辞で設定してまったならば、この後に変え方を書いています。

 

実は、wp~のままだと悪質ハッカーなどの奴らにサイトを乗っ取られるなどの害を被る可能性が上がります。

サイトを育てて行くと、露出も多くなりますし、収益も大きくなるので特に運営歴が長いサイトは要注意です。

 

接頭辞の変更の仕方

さきほどの、ハッカー対策の為の接頭辞変更とは他に、

接頭辞はサイトを別のサーバーに移行(俗に言う、サイト移転)する際にも、変えることがあります。

その他の関連記事で、データベースバージョンの移行について書かれた記事を載せておきます。

サーバーを移行した際に、移行前と移行先のMySQLデータベースのバージョンが違った場合や、

同じレンタルサーバー内で、データベースの上位バージョンが採用されたから

自分でアップグレードして〜。という場合に役立つかと思います。

 

尚、ドメインが変わる・サーバーが変わるなどの場合は

WordPressをバックアップする方法

この記を

WordPressのバックアップデータの復元方法

以上、2記事をお読み下さい。

 

 

では早速、接頭辞の変え方を書いていきます。

 

また、以下からの説明はさくらのレンタルサーバを基に解説しています。

wp-config.phpの接頭辞を編集

まずは、さくらのレンタルサーバーの、サーバコントロールパネルにアクセスし、ログインします。

サーバーコントロールパネル

 

Webサイト/データ > ファイルマネージャーを表示させます。

Webサイト/データ > ファイルマネージャーを表示させます。

 

の通り、ドメインを取得→サーバー契約 をしたならば、

yujiyamazato.com というドメインのデータは、下のスクショの通り

契約レンタルサーバー内の「yujiyamazato.com」というフォルダにあるはずです。

(分かりやすく、ドメイン名とフォルダ名は、同じにするべき。

 

なので、「yujiyamazato.com」というフォルダを展開して、「wp-config.php」を探します。

サーバー内データ

 

「wp-config.php」を選択、「鉛筆マーク」をクリックして編集可能にします。

 

wp-config.php の表示とその編集

 

「wp-config.php」内の、「WordPress データベーステーブルの接頭辞〜」を探します。

/**
* WordPress データベーステーブルの接頭辞
*
* それぞれにユニーク (一意) な接頭辞を与えることで一つのデータベースに複数の WordPress を
* インストールすることができます。半角英数字と下線のみを使用してください。
*/
$table_prefix = 'wp1f10kll';

「$table_prefix = ‘wp1f10kll‘;」という文字列がありますが、「prefix」が接頭辞という意味です。

データベースのドメイン割り当て時に設定していなければ上の黒背景枠内のように、

「wp1f10kll」になってしまっているので、誰もが思い付かなそうな接頭辞を考えて設定します。

この記事では分かり易さ重視で、新しい接頭辞を「$table_prefix = ‘newprefix_1‘;」とします。

データベース接頭辞を編集

さきほどは、契約している(さくらの)レンタルサーバー内にある、

「wp-config.php」内の、「$table_prefix」を変更しましたが、

次は、データベースの接頭辞を新しいものに変えます。

 

そのデータベースは、「wp-config.php」などが入っているレンタルサーバーではなくて

データベースが入っている、データベースサーバー(略してDBサーバー)に入っています。

 

サーバコントロールパネルにログインすると、レンタルサーバーにアクセスできるのと同じで

phpMyAdminにログインすると、MySQLのDBサーバーにアクセスできます。

 

では、以下のスクショの通りWebサイト/データ > データベースを表示させて、

phpMyAdminログイン をクリックします。

会員ログイン後、Webサイト/データ > データベース という画面が出現します。

phpMyAdminが表示されます。
phpMyAdminで該当するデータベースバージョンを選択します

該当するデータベースバージョンを選ぶ。

他の記事からの引用で、

ここでのユーザー名とは「初期アカウント名」、「パスワード」とは

という記事の「データベースの作成」という見出しに書かれている

データベースを作成した時に設定した「接続パスワード」のことです。

入力したら「実行する」をクリック。

・・・ということなので、ユーザー名、パスワードを入力し、該当するサーバーを選択して「実行」をクリック。
下のように表示されました。
移行前のデータベースバージョンへログインした時のphpMyAdminの画面
接頭辞を変えようとしているドメインの、割り当てているデータベースの調べ方は、
「wp-config.php」内の、以下で確認できます。
// ** MySQL 設定 - こちらの情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define('DB_NAME', 'yujiyamazato_sakuradatabase1');

 

該当するデータベースをクリックすると、「構造」タブが選択されています。

その下に「テーブル」があります。

WordPressのバックアップ説明画像4

 

ここから先は簡単です。

「含まれている文字:」に、前の接頭辞「wp1f10kll」と入力します。

すると、「wp1f10kll~」で始まるテーブルが一覧に表示されます。

当該接頭辞テーブルを検索した時のスクショ

下までスクロールをすると、「すべてチェックする」のチェックボックスにチェックを付けて

「テーブル名の接頭辞を付け替える」を選択。

 

接頭辞付け替え作業1

付け替え元に、前の接頭辞である「wp1f10kll」を、付け替え先を新しい接頭辞である「newprefix_1」を入力。

接頭辞付け替え作業2

newprefix_1」と検索して、付け替えが完了したかを確認。

付け替え完了スクショ

しかし、自動でできるのはここまででしてここから先は手動で接頭辞を変えていきます。

テーブル: newprefix_1options ≫ option_name: wp1f10klluser_roles

を探して、値を: newprefix_1user_roles に編集。

(前の接頭辞)options」テーブル

「(前の接頭辞)user_roles」レコード

テーブル: newprefix_1options ≫ option_name: wp1f10klluser_roles

→ 値: newprefix_1user_roles

テーブル: (新接頭辞)options ≫ option_name: (旧接頭辞)user_roles
テーブル: newprefix_1options ≫ option_name: wp1f10klluser_roles
→ 値: newprefix_1user_roles

 

同じ要領で、以下の表を参考に変えて下さい。

テーブル: (新接頭辞)usermeta ≫ meta_key: (旧接頭辞)capabilities~user-settings-time
  1. テーブル: newprefix_1usermeta ≫ meta_key: wp1f10kllcapabilities
    → 値: newprefix_1capabilities
  2. テーブル: newprefix_1usermeta ≫ meta_key: wp1f10klluser_level
    → 値: newprefix_1user_level
  3. テーブル: newprefix_1usermeta ≫ meta_key: wp1f10klldashboard_quick_press_last_post_id
    →値: newprefix_1dashboard_quick_press_last_post_id
  4. テーブル: newprefix_1usermeta ≫ meta_key: wp1f10klluser-settings
    →値: newprefix_1user-settings
  5. テーブル: newprefix_1usermeta ≫ meta_key: wp1f10klluser-settings-time
    →値: newprefix_1user-settings-time

最後にサイトにアクセスしてみて、ちゃんと表示されればデータベースの接頭辞変更は成功です。

今後もこのように、ビジネス成功の為の役立つ有益な記事を更新して行きますので、

普段使っているメールアドレスを以下より入力して、ブログの無料購読に登録下さい。

 

記事が更新される度に、あなたにメールでお知らせします。

ブログ無料購読

この記事が気に入ったら
フォローしよう

最新情報をお届けします

Twitterで @yujiyamazato をフォローしよう

おすすめの記事