SQLite版WordPresssの引っ越し
WordPressは通常データベースにMySQLを使いますが、MySQLを使わなくてもWordPressが使える方法があるのをご存知でしょうか?
WordPresssのプラグインの「SQLite Integration」を使うと、WordPresssをSQLiteで使うことができます。サーバーの仕様でデータべースが使えない時、データベースの数が少ない場合にこの方法が有効かもしれません。SQLite Integrationのインストールも簡単なので、興味ある方は一度お試しください。
ただ、このプラグインは3年以上更新されておらず、セキュリティ上問題があるかもしれないのであまりおすすめできません。 もしこのプラグインをインストールするなら、あくまで自己責任で行ってください。
ところで今回の本題、SQLite Integrationを使ったSQLite版のWordPresssの引っ越しを行いました。
とあるクライアントの依頼で詳しいことが分からず、手探り状態で始めたのと、sqliteの移行に関する情報が少なく、いろいろと試行錯誤したので、その経緯について記録をしていきたいと思います。
- 移行元のサーバーから移行先のサーバーへ移動
- 「DB Browser for SQLite」でデータを確認
- データベース管理ツールをインストール
- データの移行
- 新しくDBを作成し、データの移行
1.移行元のサーバーから移行先のサーバーへデータの移動
FTPでサーバー上のデータを移動しました。
サーバーの環境が同じであれば問題ないですが、異なるサーバーの為データが表示されません…。
2.DB Browser for SQLiteでデータを確認
サーバー上のSQLiteのデータを見ようと思い、「DB Browser for SQLite」というソフトをダウンロードして sqliteのファイルを開いたところ、下記のようなメッセージが表示され、見られません。
5年ほど前、このソフトでsqliteのファイルが簡単に見られたので、期待してたのですが…。
3.データベース管理ツールをインストール
phpmyadminと同様にブラウザ上でデータベースを管理出来るツール「phpLiteAdmin」をインストールしてみました。
ツールの使い方は簡単です。
(1)下記のURLよりダウンロードします。
ダウンロードしたzipファイルを解凍してphpliteadmin.config.sample.php
のファイル名をphpliteadmin.config.php
に変更します。
(2)phpliteadmin.config.phpに記載
phpliteadmin.config.phpに下記のように記載します。
$password = 'admin'; //dmin部分を任意のパスワードに変更します。
$directory = './database/'; //データベースを保存するディレクトリを設定しますが、「SQLite Integration」のインストール時に、'/database/'の中にSQLiteが保存されているので、'./database/'と記載します。
(3)phpLiteAdminのファイルをアップロード
下記のディレクトリにphpLiteAdmin、phpliteadmin.config.phpのファイルをアップロードします。
(4)下記のURLにアクセスすると、管理画面が表示されます。
wordpressのURL/wp-content/phpliteadmin.php
$passwordで設定したパスワードを入力してください。
4.データの移行
phpmyadminと同様にデータの移行を行います。
移行元のサーバーにもphpLiteAdminを入れ、データをSQLでエクスポートします。次に移行先のサーバーにデータをインポートします。
すると下記のエラーが表示されました。
database disk image is malformed
移行元のデータと移行先のデータをよく見ると、sqliteのバージョンが違います。
3.6.2と3.7.1の違いはよく分かりませんが、互換性はなさそうです。
5.新しくDBを作成し、データの移行
使っているデータべースを削除し、新たにデータベースを作成し、同様にインポートを行うと無事に移行が完了しました。
まとめ
通常のwordpressの引っ越しの場合は、phpmyadminからMySQLのデータをエクスポートして、新しいデータベースにインポートするという手順ですが、SQLiteの引っ越しも同じような手順で行うことができました。
結果的に下記の2つの作業を行うことでデータの移行ができました。
- データベース管理ツールをインストール
- 新しくDBを作成し、データの移行
同じような現象に陥っている方の参考になれば幸いです。