MT: Berkeley DB から sqlite への移行(さくらの場合)
さて、データベースの移行のお話です。
これが驚くほど簡単にできました。
再構築の時間も、エントリー数が100にも満たない
ぼくのブログで体感できるほど、大幅に短縮されました。
MT: Berkeley DB から sqlite への移行(さくらの場合)
※ここでは「Ogawa::Memoranda」さんの
「mt-db-convert.cgi: MTデータベースの相互変換CGIスクリプト」を
利用した移行手順を書きます。素晴らしいスクリプトに感謝です。
参考にさせてもらったサイト)
Ogawa::Memoranda
http://as-is.net/blog/archives/001023.html
Movable Type テンプレート 無料配布 - 商用BLOG専門店
http://www.ec-blog.com/04movable_type/000080.html
SKEG*log
http://blog.skeg.jp/archives/2006/02/berkeley_dbsqli.html
==========================================
ここでもやはり、まず最初に行うのがバックアップです。
↓
「Ogawa::Memoranda」さんのところで
「CategoryMovableType/mt-db-convert.zip」をダウンロード。
↓
解凍すると、MT3.1、3.2、3.3用のファイルがそれぞれ出てきます。
ご自身の使われているMTのバージョンと同じものを
ご自身のサーバーの「mt.cgi」が含まれる階層へアップロード。
(異なるバージョン用のファイルは、使用しないです)
↓
パーミッションを設定(ぼくの場合は「755」)。
↓
ブラウザ上で、アップロードしたファイルにアクセス。
↓
「Movable Type テンプレート 無料配布 - 商用BLOG専門店」さんと、
「SKEG*log」さんの解説を見ながら、
必要事項を記入(前者のブログは図解あり)。
↓
入力が終わったら、画面左下の「Convert」ボタンをクリック。
※僕の場合、「Movable Type テンプレート 無料配布 - 商用BLOG専門店」さんの
以下の記述をそのまま活用したら、ここでエラーが出ました。
(記述のせいではなく、ひとえに僕の無知のなせる仕業です。あしからず)
(「mt-db-convert.cgi」の)画面右半分には、
これから使用するデータベースの
転送先情報を入力します。・Object Driver⇒SQLiteを選択します。
・DataSource⇒設置するDBまでのパスをフルパスで指定します。現在使用している「Berkeley DB」のフォルダ./dbを
そのまま使用するのなら左側のDataSourceのパスをコピーして
右側のDataSource欄に貼り付けて最後に/mtdbと付け加えます。
そこで「Ogawa::Memoranda」さんの当該エントリーのコメント欄を見ると、
どうやら、上記引用文の最後の行の「/mtdb」が
既にフォルダ内にあることが原因っぽい。
そこで、「mtdb」のフォルダを削除し、再び
「Convert」ボタンをクリック。今度は成功。ほ。
↓
ずらずらずらっと移行に関する記述が終えたのち、
画面一番下に「mt-config.cgi」への追記情報が出てくる↓
Your recommended setting
-------------------------------------
# DataSource /home/○○○○○/mt/db
ObjectDriver DBI::sqlite
Database /home/○○○○○/mt/db/mtdb
-------------------------------------
↓
コピーしたのち、「mt-config.cgi」の
「##### SQLITE #####」の欄に貼り付ける。
(貼り付け方は、前出のブログたちを参考に)
併せて、「##### BERKELEYDB #####」欄の
記述の先頭に「#」をつける。
↓
上書き保存して、アップロード。これで完了。
==========================================
それでは、再構築の時間を体感してください。
なお、完了したら、「mt-db-convert.cgi」を削除してくださいとのこと。
ふぅ、つかれた~。けれど、これでひとまず安心です。
参考にさせていただいたサイトの管理者様には、本当に感謝です。
本当にありがとうございました&おつかれさまでした。
