酒とロック

WordPress、Mac、その他日常で覚えておくべきことを備忘録としてメモしています。

WordPress

WordPressで利用するデータベース(MySQL)を変更(引っ越し)する方法

2014/11/11

サイトへのアクセスが急増したため、ロリポップ!のロリポプランからチカッパプランにグレードアップしました。

ロリポプランでは、50GBのうち1.8GBしか使用しておらず容量の余裕はまだありましたが、2つのブログを1つのデータベース(MySQL)で運用していたため、サーバーへの負荷が心配になった次第です。
ロリポからチカッパにしてデータベースを増やしたい

チカッパプランに変更すれば、データベース(MySQL)は30個使用することができ、月額500円からで余裕を持った運用が可能になります。

しかしながら、チカッパプランに変更するだけで自動的にデータベース(MySQL)を振り分けることはできず、サーバー構築に何も知識がない私のような人間が対応するのは至難の業です。

ロリポップ!のマニュアルにもこの対応方法については記載がされておらず途方に暮れていました。しかし、ロリポップのサポート問い合わせてみたところ、その手順を懇切ていねいに教えてくださいました。本当にありがたいサービスです。

新しいデータベースの作成手順

さっそく新しいデータベース(MySQL)をサーバー上に作成して、データを移行する手順について記していきます。具体例としては、AとBの2つのブログのうち、Bのブログのデータベース(MySQL)を新しく構築して移行する手順になります。

※ここからはサポートが教えてくれた手順方法を、ブログ用に見やすく改変する程度にとどめております。同じ症状でお困りの方の参考になれば幸いです。

手順の大まかな流れは下記の操作が必要となります。

  1. データベースの新規作成
  2. 現在のデータベースからのデータエクスポート
  3. 新しいデータベースへのデータインポート
  4. WordPressの設定ファイルの書き換え
  5. 現在のデータベースからのデータ削除

それぞれの操作について詳しく見て行きましょう。

手順1:データベースの新規作成

ユーザー専用ページ内の『WEBツール』>『データベース』メニューを選択。
『WEBツール』>『データベース』メニュー
『作成』ボタンをクリックします。
データベースの作成画面
するとデータベースの作成画面が出てきます。作成するサーバー、データベース名、接続パスワードなどの必要事項を選択および入力して作成ボタンをクリックし、新しいデータベースを作成します。
新しいデータベースを作成

データベースがひとつ増えました。
データベースが増えた

手順2:現在のデータベースからデータをエクスポートする

現在利用しているデータベースの中から、ブログBのデータを取り出します。

現状してようしているブログBの中のデータを取り出すには「phpMyAdmin」で操作。「phpMyadmin」へは下記の手順でアクセスします。

ユーザー専用ページ内の『WEBツール』から『データベース』をクリックします。
『WEBツール』から『データベース』をクリック

開いた画面で「LAA*******-k*****u」(従来のデータベース名)の右の『操作する』ボタンをクリックします。

「サーバー」「ユーザー名」「パスワード」を確認しておきます。そのうえで『phpMyadminを開く』ボタンをクリックします。
phpMyadminを開く

先ほど確認した情報を入力し、『実行する』ボタンをクリックします。
phpMyAdminにログインする

以上の手順で「phpMyAdmin」の画面を開きます。

次に画面左側のデータベース名をクリックして、画面上のエクスポートボタンをクリック。
ちなみに画面左に表示されている「information_schema」はMySQLサーバーに関する情報が保存されているデータベースのことで、これは選択する必要はありません。

画面左側のデータベース名をクリックして、画面上のエクスポートボタンをクリック

エクスポートの管理画面が表示されます。ここでエクスポート方法を選択します。エクスポート方法は初期設定では「簡易 - 最小限のオプションだけ表示」にチェックが入っているはずです。これを「詳細 - 可能なオプションを全て表示」のラジオボタンを選択します。
詳細 - 可能なオプションを全て表示

データベースが表示されます。ここでは必要とするデータベースを選択すれば良いです。

新しくデータベースを用意したいブログBは、ロリポプランを契約している時に2個目のWordPressブログとして作成しました。つまりブログBのデータは、【wp2_○○】という名前で保存されています。【wp2_○○】となっているデータをすべてエクスポートすればよいそうです。

ブログBのデータが入っているデータベース【wp2_○○】をcommandキーを押しながら複数選択します。
エクスポートするデータベースを選択

次にフォーマットを選択します。
デフォルトで選択されている「SQL」のままでOK。
デフォルトで選択されている「SQL」

SQL

ページ末尾にある実行するボタンをクリックすれば、エクスポートが完了です。
実行するボタンをクリック

データベース名がファイル名になっているsqlファイルがダウンロードされるはずです。
sqlファイルがダウンロードされる

参考データベースのエクスポート

手順3:新しいデータベースへデータをインポートする

次に、[手順1]で新規作成していただいたデータベースの中に、[手順2]でエクスポートした「ブログB」のデータを取り込みます。

データのインポートは、先ほどデータのエクスポート作業を行った「phpMyAdmin」上で操作を行います。

まず、チカッパの管理画面に戻り新しいデータベースから、「phpMyAdmin」へログインするために「操作する」ボタンをクリックします。
「操作する」ボタンをクリック

「phpMyAdmin」の画面が表示されたら、左に表示されているインポートするデータベース名をクリック。
左に表示されているインポートするデータベース名をクリック

次に、画面上の「インポート」を選択し、先ほどエクスポート(ダウンロード)したファイルを選択。
エクスポート(ダウンロード)したファイルを選択

あとは実行を押してインポート完了です。
実行を押してインポート完了

※上記画面には見えていませんが、下にスクロールすると「実行」ボタンがあります。

WordPressの設定ファイルの書き換え

次に、作業を行うのは、WordPressの設定変更です。

ブログBで使用するデータベースが新しいものに変わるため、WordPressの設定も新しいデータベースの情報を登録する必要があります。

具体的には「wp-config.php」というファイルの中のデータベース情報部分を書き換えてあげればOKです。それでは手順を見ていきます。

まず、ロリポップのユーザー専用ページにログインして、『WEBツール』から『ロリポップ!FTP』をクリックします。
『WEBツール』から『ロリポップ!FTP』をクリック

新しいデータベースを割り振りたいブログのデータフォルダを選択(今回の場合は「ブログB」のフォルダ)。
データベースを割り振りたいブログのデータフォルダを選択

さらに、「wp-config.php」ファイルをクリックします。
wp-config.php

「このファイルの書き込み権限がありませんので、内容の変更はできません。」というアラートが画面右上に出ているはずです。このファイルを編集するため、「現在の属性」という項目を【600】に変更。
現在の属性を600に変更

その後、一旦下部の『保存する』ボタンをクリックします。
保存する

これで「wp-config.php」の編集ができる状態になるので、下記の部分を変更します。
※ファイルを変更する前に、念のためバックアップをとっておくのがよろしいかと思います。

「wp-config.php」ファイルの変更箇所は以下のとおりです。

/** WordPress のデータベース名 */
define('DB_NAME', '********');

/** MySQL のユーザー名 */
define('DB_USER', '********');

/** MySQL のパスワード */
define('DB_PASSWORD', '********');

/** MySQL のホスト名 (ほとんどの場合変更する必要はありません。) */
define('DB_HOST', '********');

上記の「********」の部分を、新しいデータベースの情報に変更します。

ロリポップユーザー画面の『WEBツール』>『データベース』を確認しながら、上記「******」部分を入力すれば間違えることはないでしょう。
wp-config.phpに必要事項を入力

編集をしたら画面下の『保存する』ボタンをクリックします。

最後に「現在の属性」という項目を【400】に戻して、『保存する』ボタンをクリックします。
現在の属性を400に戻す

現在のデータベースからのデータ削除

ここまでで、新しいデータベースへのデータ移動と「ブログB」の接続先データベースの設定が完了しました。

「ブログB」にアクセスしてみて、正常にサイトが表示されることが確認できれば、移動元のデータベースから「ブログB」のデータ(wp2_○○)を削除してもOKです。データの削除を行う前に、必ずバックアップをとることをお忘れなく。

データの削除方法は、データが残っている古い方のデータベースから「phpMyAdmin」にログインし、今回の場合はブログBの「wp_2」というファイルにチェックを入れて削除をするだけ。
データの削除

削除を選択すると「本当に実行しますか?」と確認画面が表示されます。
削除確認画面

「はい」をクリックすれば、ファイルが削除されます。
削除完了

以上の手順で、2つのドメインで使用するデータベースを分けることができました。

まとめ

データベースについては、元々ロリポップ!のサポート対象外です。しかし、サポートスタッフの方は親切にデータベース移行手順を教えてくれて本当に助かりました。

初心者にやさしいサーバー会社であることを、改めて実感しました。

-WordPress