wordpressのDBデータをMySQLエクスポートしてMariaDB(xampp)へインポートした時の方法
先日、オンラインで運用していたwordpressサイトで調整したいことがあり、ローカル環境で検証をしようとしたら、最新版のxamppがMariaDBになって、データベースのコピーがうまくいきませんでした。
VMで仮想環境を作ったほうが確実で楽なんですが、ついでにxamppでもなんとかならんかと試したらうまくいったので、その時の方法を備忘録でメモします。これからMySQLで運用していたwordpressのDBデータをエクスポートし、MariaDBにインポートしたい人は参考にしてみてください。
目次
MySQLのエクスポートデータをMariaDB(xampp)へインポートする方法
ローカル環境にデフォルト状態のwpをインストール
まずはxamppをインストールして、wordpressをインストールしましょう。この時、DBの名前を現在運用しているwpのものと一緒にしておくとラクです。
ローカル環境のデフォルト状態のDBデータをエクスポート
wordpressのインストールが終わったら、xamppのphpmyadminにログインして、DBデータを出力しましょう。(これでMariaDB形式のデータがゲットできます。)
オンライン環境でDBデータをエクスポート
だいたいのサーバーでは、phpMyadminが入っていると思うので、そこから対象のDBデータをエクスポートします。これは当然ながらMySQL形式のデータになっています。
DBデータのフォーマット整形
テキストエディタなど用いて、先ほどエクスポートした二つのデータベースのデータを開きましょう。
並べて比較すると分かりますが、両者で微妙にフォーマットが異なっています。
(右側がローカルMariaDB、左側がオンラインMySQLのもの)
なので、各テーブルについて、ローカルMariaDB側のものをコピーして、オンラインMySQLのほうにペーストしていきます。
テーブルは当然ながら、必ずCREATE TABLEで作成されるので、そこを順々に検索していくと、抜け漏れなく上書きできます。
ただ、途中で、siteurlとhomeについては、ローカル環境のものを書いておくようにしましょう。
テーマを変更したら、移行完了!
最後にxamppのhtdocsのほうで、themeのスタイルシートを適用してあげれば、移行完了です。
エラー補足:パーマリンクの更新をしておこう
上記手順で移行を終えると、トップページは表示されますが、それ以外のページでエラーが返ってきます。
要求された URL は本サーバでは見つかりませんでした。 参照元ページのリンクが間違っているか、古くなってしまっているようです。
これは、パーマリンクの設定で、更新してあげると、なおりました。
まとめ
MariaDBとMySQLなどで仕様が異なる時、互換性を持たせるためには、DBのデータを開いてみて、そのフォーマットを確認してみると、何とかなります。
(本当はもっとスマートな移行の仕方があると思うのですが、xamppでのひとまずの移行方法でした。)