ワードプレスのデータをローカルサーバーに反映する方法

2019/2/23 15:14:25作成
2019/2/23 15:52:58更新
ワードプレスのローカルサーバーへのデータベースコピーはワードプレスプラグインのエクスポート、インポート利用してコピーすることが可能ですが、うまくいかない場合が多々あります。こんな時、PhpMyAdminを利用してデータベースをコピーするという方法もあります。ただし、単純にコピーしただけでは正常に反映されないという難点があります。今回はワードプレスの小規模なデータを本サーバーからインポートし、ローカルサーバーに反映する方法の考察してみました。これはその時の備忘録です。

データ移行で最も問題になる部分はデータ内にあるサイトのURLがローカルサーバーのURLとは異なる為、ローカルサーバーでログインすると本サーバーのサイトに接続されてしまう点とデータベースとの接続がうまく行かないという2点です。

これらは以下の手順によって解消されました。ただし、現状ローカルサーバーでワードプレスが既にインストールされ、付随するプラグインもインストールされている状態であること、またデータが大き過ぎるとテキストエディタで読み込まない場合があるので小規模なデータ量ということが前提条件です。

手順
1.PhpMyAdminを利用して本サーバーからデータをエクスポート(bigdump.phpでデータインポートの最後を参考に)した後、データ内にあるサイトのURLをローカルサーバーのURLに変更する必要性があります。データをテキストエディタで開き以下の部分を全て置換します。基本的にローカルサーバーでSSLを利用していることはないと思いますのでhttps→httpに、またlocalhostを追加する必要があります。
本サーバーのURL
https://www.○○/
↓
http://localhost/www.○○/

2.PhpMyAdminを利用してローカルサーバーにあるワードプレスのデータベースをいざというときの為に一旦保存したあと、データベース内のテーブルを全て削除します。

3.ローカルサーバーのPhpMyAdminを利用して1で編集したデータをインポートします。ただし、ローカルサーバーでphpMyAdminのインポート容量を増やすことが必要です。(XAMPPの導入の最後を参考に)

4.次にインポートしたデータベースに接続させるため、本サーバーにあるwp-config.phpをテキストエディタで開き47行目辺りにある以下の部分をコピーしてローカルホストのwp-config.phpの同部分にペーストし差し替えます。
/**#@+
 * 認証用ユニークキー
 *
 * それぞれを異なるユニーク (一意) な文字列に変更してください。
 * {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org の秘密鍵サービス} で自動生成することもできます。
 * 後でいつでも変更して、既存のすべての cookie を無効にできます。これにより、すべてのユーザーを強制的に再ログインさせることになります。
 *
 * @since 2.6.0
 */
define('AUTH_KEY',         '****************************************************************');
define('SECURE_AUTH_KEY',  '****************************************************************');
define('LOGGED_IN_KEY',    '****************************************************************');
define('NONCE_KEY',        '****************************************************************');
define('AUTH_SALT',        '****************************************************************');
define('SECURE_AUTH_SALT', '****************************************************************');
define('LOGGED_IN_SALT',   '****************************************************************');
define('NONCE_SALT',       '****************************************************************');

/**#@-*/

私の場合、これでサーバーに接続され大まかには(プラグインのデータで一部反映されなかったものもありました)データが正常にインポートされました。また、ログインパスワードも同時に反映されます。

逆も真なりと言えます。つまりローカルサーバーのデータを本サーバーに反映するには逆の方法をすればよいわけですが、データが正常にインポートされる可能性があるとしてもさすがに本サーバーのデータが潰れてしまったらと思うとこれはなかなかできないですね。

投票数:10 平均点:4.00

趣味を楽しもう新着記事

欲しい商品が必ず見つかるメジャーなネットショップ

ログイン

Facebook,RSSリンク表示

検索

アクセスカウンタ

今日 : 168
昨日 : 249
総計 : 1615954