アフィリエイト広告を利用しています

WordPressのデータベース移行は、phpMyAdminよりSSHとWP-CLIが確実だった話

WordPressで、そこそこ記事数があるサイトのデータ移行のお話です。

最近、バックアップをとって復元するという仕事を何度もやっておりまして、そうなると、データベースっていうデータが入っているところを、まるっと引っ越しさせる必要があるんですよね。

phpMyAdminだとエラーでこけます

で、よく標準で使う phpMyAdmin っていうアプリを介して、データベースを出力(エクスポート)しようとすると、記事数が多いサイトだと、エラーでこけちゃうんですよ。

タイムアウトだったり、メモリ不足だったり。

これが、まあまあ困ります。

こけなくても、インポート先でオートインデックスがないよ、というエラーが起きるんですよね。これも厄介なわけです。

急がば回れ、SSHとWP-CLIでやるのが確実です

で、たどり着いた結論が、急がば回れなんですけれども、SSHでサーバーにログインして、WP-CLIを使ってデータベースを直接操作する方法です。

WP-CLIというのは、WordPressをコマンドラインから操作できるツールでして、これが、めちゃくちゃ便利なんですよね。データベースのユーザー名やパスワードを自分で入力しなくても、wp-config.php を読んでくれるので、コマンドがシンプルなんです。

最近の経験で、これが一番確実だとわかりました。

手順1:旧サーバーからデータベースをエクスポートします

まず、旧サーバーにSSHでログインします。(詳細は省略します)

ssh ユーザー名@旧サーバーのホスト名

ログインできたら、WordPressがインストールされているディレクトリに移動します。

cd /path/to/wordpress

そして、WP-CLIの db export コマンドを実行します。

wp db export export.sql

これだけで、データベースの中身がまるっと export.sql というファイルに出力されます。

データベースの接続情報は、WP-CLIが wp-config.php から自動で読み取ってくれるので、自分で入力する必要がないんですよね。ここが、楽です。

手順2:エクスポートしたファイルを新サーバーに転送します

次に、エクスポートした export.sql ファイルを新サーバーに持っていきます。scpコマンドが便利です。

scp export.sql ユーザー名@新サーバーのホスト名:~/

これで、新サーバーのホームディレクトリにファイルが転送されます。

手順3:新サーバーでデータベースにインポートします

新サーバーにSSHでログインします。

ssh ユーザー名@新サーバーのホスト名

ログインしたら、転送した export.sql を、新しいWordPressのディレクトリに移動して、

mv ~/export.sql /path/to/wordpress/
cd /path/to/wordpress

WP-CLIの db import コマンドで、インポートします。

wp db import export.sql

しばらく待つと、完了です。

これだけなんですよね。

phpMyAdminで苦しんでいた時間は何だったのか

正直、phpMyAdminでエラーが出るたびに、設定ファイルをいじったり、分割エクスポートを試したり、色々とやっていたんですけれども、SSHでWP-CLIを使ったら、あっさりうまくいきました。

WP-CLIだと、コマンドが wp db exportwp db import の2つだけで、データベースの認証情報も自動で処理してくれますので、本当にシンプルです。

記事数が多いWordPressサイトの移行は、はじめからSSHとWP-CLIでやるのが、結果的に一番早いです。

急がば回れ、そんな感じです。

この記事を書いた人

大東 信仁

カンパチが好きです。

プロフィールはこちら

10月14日開催 参加者募集中
(画像をタップ→詳細へ)

ミッションナビゲート モニター
(画像をタップ→詳細へ)

広告