【解決済】WPblogからミニバードにWordPressのデータベースを移行しようとしたらエラーが出た

スポンサーリンク

無料のWordpressサービスWPblogからミニバードにサーバーを移転しました。また合わせてドメインも変更しました。

今回データベース移行時にエラーが出たので今後に備えての備忘録。

データベース移行事前準備

データベースを新サーバーに移行するためにバックアップを取るためDuplicatorというプラグインを利用したものの、バックアップデータをダウンロード出来ずWPblogでは使えなかったという記事を前回書きました。

そのためデータベースはWPblogの管理画面からバックアップを取得しました。

WPblog管理画面からデータベースのバックアップ手順

まずWPblogにネットオウルのIDでログインします。

事前準備WPblog管理手順1

WPblogの管理画面になったら「アプリケーション設定」をクリックします。

アプリケーション設定の項目にデータベースのバックアップがあるので「データベースのバックアップ」をクリックします。

事前準備WPblog管理手順2

バックアップするファイルを圧縮するか非圧縮のSQLのどちらにするか選択します。

事前準備WPblog管理手順3
ダウンロードしてデータベース内の文字列を変更などするのであれば圧縮なしのSQLという手もありますが基本は圧縮したものでいいと思います。
後述する「WP Migrate DB」というプラグインでデータベース内のドメイン表記も変更も可能です。

ブラウザの設定にもよりますが「エクスポート実行」をすることでダウンロードが開始されます。

事前準備WPblog管理手順4

WPblogでエクスポートしたデータベースをミニバードに移行

WPblogからエクスポートしたデータベースをミニバードに移行する手順を説明します。既に簡単インストールでWordpressとデータベースが作られている状態からの説明です。

今度はWPblogでなくミニバードの管理画面にログインします。(同系列のためネットオウルIDでそのままログイン)

ミニバードDBバックアップ1

ホームページメニューから「データベース設定」をクリックします。

「phpMyAdmin」タブをクリックします。

ミニバードDBバックアップ2

ユーザー名とパスワードを聞かれるのでWordpressを簡単インストールした際に発行されたユーザー名とパスワードを入力しログインしてください。

phpMyAdminの画面に入ったら「インポート」をクリックします。

ミニバードDBバックアップ3

ここでWPblogからエクスポートしておいたデータベースファイルを選択し「実行」します。

ミニバードDBバックアップ4

以上、で無事インポート終了・・・と思いきや

ミニバードDBバックアップ5

Unkown Collation ‘utf8mb4_unicode_ci’エラー発生

圧縮したことで何か問題が起きているのかと思いWPblogに戻り圧縮なしのSQLファイルをエクスポートしてきてもだめでした。

こういう時はGoogle先生にエラー文そのまま訪ねるのが正解です。
同じような問題に直面した人がおり原因と解決策が載っていました。

utf8mb4_unicode_ciという文字コードはMySQLの新しいバージョンである5.5.3から使えるようになったものということで、それを古いバージョンのMySQLにインポートしようとしてもエラーになるということでした。

ミニバードのMySQLバージョンは5.0.95ということでWPblogの方が新しいバージョンを利用していたようです。
てっきり同じ会社なのでデータの移行もスムーズに行くかと思いましたがこんなところでつまづきました。

utf8mb4_unicode_ciエラーの対処法

こちらのページによればphpMyAdminを利用すれば古いMySQLと互換性を持たせる形でエクスポートできるようですが残念ながらWPblogでは使えません。

そんな時はWordpressのプラグインに頼ってみようと思い「Migrate DB」をインストールしたところ
どんぴしゃの古い互換性を保つ機能がありました。

WP Migrate DBを利用したDBバックアップ手順

手順というほどのことはないですが

MigrateDBSetting
WP Migrate DBをインストールした後、[ツール]-[Migrate DB]でバックアップの設定を行います。

MigrateDBSettingAdvancedOption

Advanced OptionsのところにMySQL5.5以前のバージョンとの互換性を持たせる項目があります。(たしか最初からチェック入ってました。)

基本的に初期設定のままで問題ありません。
私のようにドメイン変更がある場合はFind とReplaceの部分に検索して置換する文字列をいれるくらいです。

データベースのインポートの後にいくつか記事をチェックしていてリンクのアドレスのスラッシュが二つになっていておかしいなと思いましたがこのスクリーンショットを見て原因がわかりました。
アドレスバーからコピペしたときに間違って置換文字にスラッシュを入れてました。

このおかげで結局内部リンクのある記事を手書きでなおしました。(1回データベース初期化してやり直すのとどっちが早かったのか)

文字列を置換するときは間違いがないことを確認して実行しましょう。

「Export」をクリックするとエクスポートデータがダウンロードされます。

ここでエクスポートしたデータをミニバードのphpMyAdminで読みこむと無事インポートが成功しました。

ミニバードDBバックアップ6
やったね!

データベース接続確立エラー

ミニバードDBバックアップ7
さてブログを確認しようと思いブラウザから確認すると「データベース接続確立エラー」というのがでました。
まだ駄目だったか・・・と思ったもののこれも同じような状況の人がおり、
wp-config.phpのなかのデータベース名やユーザー名、パスワードが間違っているときに起こるそうです。
データベースのインポートで書き変わったのだと思います。FTPでwp-config.phpをダウンロードして値を書き替えてアップロードしたら無事ブログが表示されました。

スポンサーリンク