WordPressのDBデータをWP-CLIを使って別ドメインへ移行する手順ざっくりメモ

WordPressのDBデータをWP-CLIを使って別ドメインへ移行する手順ざっくりメモ

「本番環境」と「開発環境」など、記事のデータを移行したいけどドメインが違う…って時のお話です。

基本的にはWordPress の引越し(WordPress Codex日本語版)でも紹介されている「DATABASE SEARCH AND REPLACE SCRIPT IN PHP」というPHPスクリプトを使うことが多いのですが…

「とりあえず開発環境にサクッと」という場合にはこのスクリプトをわざわざ配置して、URL叩いていろいろ入力して…って面倒なんです。

なので今回はWP-CLIを使ってコマンドラインでサクッとDBのエクスポート・インポートとドメインの置換を済ませる方法(を覚える為)のメモです。

今回使うコマンド

さて、いきなりですが今回登場するコマンド一覧です。

  • wp db export [ファイル名]
  • wp db import [ファイルパス]
  • wp search-replace [元ドメイン] [置換後ドメイン]

(自分用メモです)

ドメインが違うWordPressサイトへデータを持っていく手順

よっひー(@yosiakatsuki)です。

ドメインが違うサイトに記事データや設定などをごっそり持っていくとなると、真っ先に浮かぶのが移行元のDBをエクスポートして、移行先でインポートする。

…という手順ですが、移行元ドメインの情報を持ったまま移行先にインポートしてしまうと、画像アドレスが元ドメインを指したままになっていたり、設定関連で整合性が取れなくなってエラーになったり…

…と、いろいろと問題ありありなので、「移行元ドメインを移行先ドメインに置換する」という作業が必要になります。

そんなときによくお世話になる「DATABASE SEARCH AND REPLACE SCRIPT IN PHP」というPHPスクリプトがあるのですが…

FTPでファイルをアップしたりなど、なんかちょっと面倒なので、できればコマンドラインでサクッとやってしまいたい。

特に開発環境など「いくら失敗しても取り返しが付く」環境ならなおさらサクッと済ませたいです。

ということで「WP-CLI」というコマンドラインツールでサクッとWordPressのDBデータのインポートとドメインの置換をする方法を覚えたので、そのコマンドとかのメモです。

WP-CLIって

細かい話とインストール方法などは今回は割愛しますが、WP-CLIはWordPressのいろいろな操作がコマンドで実行できるようになるツールです。

黒い画面にコマンド打ってWordPressの設定とかガンガン変更できたり、なんならWordPress本体のインストールとかも可能です。すごい。

インストール方法など詳しくは以下を御覧ください。

WP-CLI利用にあたってはインストール作業が必要になるのですが、嬉しいことにVCCWでは最初からWP-CLIが使える状態になっています。

WP-CLIを使ってDBのエクスポート・インポート・置換をする手順

DBのエクスポート

まずはコマンドラインのカレントディレクトリをwordpressがインストールされているディレクトリに移動します。(wp-config.phpがあるディレクトリ)

$ wp db export [ファイル名]

(例:wp db export tarahako_wordpress_20160901.sql

上記コマンドでDBの内容をファイルにエクスポートします。

拡張子はとりあえず「.sql」にしておきます。

エクスポートが完了すれば「Success」が表示され、ファイルが出来上がります。

レンタルサーバー上のWordPressなど、コマンドラインが使えない環境であればphpMyAdminを使ってエクスポートします。(僕の場合エクスポートはphpMyAdminを使うパターンが多いです。)

DBにインポート

まずは先ほどエクスポートしておいた.sqlファイルを、インポート先環境に配置します。

インポート先でもコマンドラインのカレントディレクトリをwordpressがインストールされているディレクトリに移動します。

$ wp db import [エクスポートしたファイルが置いてあるパス]

上記コマンドを実行し「Success」が表示されればDBのインポートが完了です。

ドメインを置換

引き続きインポート先の環境で下記コマンドを実行します

$ wp search-replace [移行元ドメイン] [移行先ドメイン]

例として、「https://tarahako.com」の本番データを開発環境「http://tarahako.local」に持ってくるとします。

コマンドは次のようになります。

$ wp search-replace 'https://tarahako.com' 'http://tarahako.local'

コマンドを実行すると、データ量によっては少し時間がかかりますので待ちます。

wp-cliでの置換件数が一覧に表示される

処理が終わると、どのテーブルに対して何件置換したかが一覧で表示されます。

これでドメインの置換も完了です!

まとめ

いつもターミナルの履歴からコマンド実行していて、コマンドをはっきり覚えてないので、案件切り替わる度に「あれ?wp db search-replaceだっけ?wp replaceだっけ???」と毎回調べてるのでメモがてらエントリにしました。

mysqldumpでもいいかもしれないですけど、WP-CLIの方がパスワードの入力とかいらないのでお手軽ですよね!(たぶん)

興味があれば是非チャレンジしてみてください。

よっしーのひとこと

よっひー

楽できるなら楽したい!

楽できなくても、なんとかして楽したい!

ではまた。