WordPress初心者必見!データベースのバックアップと移動で簡単ブログ引っ越しガイド

wordpress

はじめに

サーバーの容量不足や速度不足、その他色々な理由で、ブログの記事全体をサーバー間で移動(いわゆるまるごと引っ越し)したい場合があるかと思います。
今回は、まるごと引っ越しの手順をまとめたいと思います。

移行の手順

手順は次の3ステップとなります。

  1. 移動するファイルとデータベースのバックアップ(ダウンロード)を実行する。
  2. ファイルの新サーバへアップロードを実行する
  3. SQLのインポートを実行する

移行元データのダウンロード

移行元のデータを一旦PCにダウンロードします。
FTPなどを使って、移行先にデータを直接置くことも可能ですが、その辺りはご自身の環境で一番使いやすいものを選んでください。
私の場合は、バックアップも兼ねて、一度ローカルなPCにデータを退避(ダウンロード)しました。

移動対象となるのは、移行元のサーバーのドキュメントのホームディレクトリの下全て(次の図で示すような、ファイルとフォルダ含めて全部)となりまる。
これをPCにダウンロードします。

site file list

移行元のデータベースのエクスポート

移行元のサーバーのデータベースをエクスポートするのに、PhpMyAdminを使用しました。
インストールしていない方は、次の記事を参考にしてみてください。

404 NOT FOUND | The fortune comes
Just another WordPress site

サーバー管理ツールにPhpMyAdminがある場合もあるかと思います。
このサーバーも次の図のようにサーバー管理ツールからphpmyadminを呼び出すことができます。

server setting example

話を戻して、それぞれの環境にあった方法で、PhpMyAdminを立ち上げます。
“エクスポート”タブ(次図①)を選択して、その中の”エクスポート方法:”の項(次図②)で、”詳細 – 可能なオプションを全て表示”を選択します。

phpMyAdmin setting panel

続いて、同じく”エクスポート”タブの中の”テーブル”の項で、全てのテーブルを選択状態にします。
([補足] 先に示した”エクスポートの方法”で”詳細”を選択した時点で、こちらの”テーブル”項が表示されます。)

table selection

次のように、生成オプションを設定してください。

generate option

その後、表示されている”実行”ボタンをクリックすると、エクスポートが開始されます。

設定ファイルの変更

Wp_config.phpの編集を行います。
DB_NAME,DB_USER,DB_PASSWORDに、移行先のデーターベース名、データベースのユーザー名、パスワードを入力します。
(次図の例で、@@DB-NAME@@,@@USR-NAME@@,@@PASSWD@@としている部分です。)

	<?php
	/**
	 * The base configuration for WordPress
	 *
	 * The wp-config.php creation script uses this file during the
	 * installation. You don't have to use the web site, you can
	 * copy this file to "wp-config.php" and fill in the values.
	 *
	 * This file contains the following configurations:
	 *
	 * * MySQL settings
	 * * Secret keys
	 * * Database table prefix
	 * * ABSPATH
	 *
	 * @link https://codex.wordpress.org/Editing_wp-config.php
	 *
	 * @package WordPress
	 */
	
	// ** MySQL settings - You can get this info from your web host ** //
	/** The name of the database for WordPress */
	define('DB_NAME', '@@DB-NAME@@');
	
	/** MySQL database username */
	define('DB_USER', '@@USR-NAME@@');
	
	/** MySQL database password */
	define('DB_PASSWORD', '@@PASSWD@@');
	
	/** MySQL hostname */
	define('DB_HOST', 'localhost');

移行先データベースへのインポート

移行先のサーバーでphpMyAdminを立ち上げます。

“インポート”タブを選択します。

phpMyAdmin in-port panel

移行元のDBからエクスポートしたファイルを”ファイル選択”から選びます。

file selection option menu

一番下にある”インポート”ボタンをクリックします。

移行先データベースのリンクパス修正

search-Replace-DBというツールを使います。

search-Replace-DBをインストール

search-Replace-DBをインストールします。
Git-Hubからダウンロードします。

search replace DB

ダウンロードした zip ファイルを展開します。
展開したフォルダ(Search-Replace-DB-master)をデータベースを編集するサイトの wp-admin や wp-content、wp-includes と同じ階層に配置します。

ffftp top menu

配置後、ブラウザで「http://ドメイン名/Search-Replace-DB-master/ 」にアクセスして以下のような画面が表示されればインストールは完了です。

search replace DB master menu

データベースへの接続

“database name”,”username”,”pass”,”host”,”port”の部分に入力します。

database setting
database nameデータベース名
usernameデータベースのユーザ名
passデータベースのパスワード
hostデータベースのホスト名。127.0.0.1 または localhost などのホスト名を入力します。使用しているサーバーにより異なります。
portポート番号。省略可能

「Test Connection」をクリックしてデータベースに接続できるかを確認します。
緑色で「Success. You are connected.」と表示されればデータベースに接続成功です。

置換

リンクの変更を実行します。

database replace setting

replaceに置換前の文字列をwithの後に置換後の文字列を入力します。
“add more match terms”をクリックすると置換パターンを追加できます。

ドメインの置換であれば、「replace」には移行元(検索・置換の対象)の URL(またはその一部)を入力し、「with」には移行先の URL(またはその一部)を入力します。
置換対象は、サイトの環境に応じて決定します。例えば、単に example.com を example.localhost に置換すると、E-mail アドレス xxx@example.com も xxx@example.localhost に置換されるので、置換対象に”http://” や ”https://”を含めるなどが必要になります。

デフォルトでは、全てのテーブルが選択状態になっています(“all tables”)。必要に応じて、選択的にテーブルを対象にしたい場合は、”select tables”をクリックして、テーブルを選択します。ここでは、”all tables”で進めます。

which table

置換のテスト

“Let’s go”の項目にある”Do a safe test run”で置換のシミュレーションを実行します。実際の置換を行う前に”Do a safe test run”を実行してどのように置換されるかを確認します。

replace simulation

実行結果は次のようになります。赤枠で囲まれているように、置換は問題なく行われそうです。

replace result

置換の実行

テストで問題ないことを確認したら、”Search and Replace”をクリックします。

以上で、置換が完了しました。

search-Replace-DBの削除

最後にセキュリティの面でsearch-Replace-DBを削除しておきます。

delete panel

テスト

最後に移行先にログインして、きちんと移行できているかをテストします。

ユーザー名が前の移転先と同じでない場合は、移転前のユーザーでログインしてみます。

以上で完了です。

login test

まとめ

サーバーの容量不足や速度不足、その他様々な理由で、ブログの記事全体をサーバー間で移動したい場合は起こりえます。引っ越しが必要になったとき何かの参考になればと思います。
以上、WordPressの記事全体をサーバー間で移したい場合の引っ越しの手順をまとめました。

コメント

タイトルとURLをコピーしました