- 2006-05-14 (日)
- 雑記
MT3.2-ja-2:BerkeleyからMySQLへ移行inロリポップ
たった記事40や50ごときで、再構築時の500errorがガンガンに増えてきて、
応急処置的にmt-config.cgiの、
# EntriesPerRebuild 40
をどんどん少なくしていき、
EntriesPerRebuild 10
(15でダメだった)
で現実逃避していたのだが、やがて10でもダメになり、
EntriesPerRebuild 2
とかそんなありえない数字でごまかしていたのだが、
ついにはエントリーをアップすることもできなくなり、
BerkeleyDBからMySQLへ移行する作業が必要と知り、
めんどくさいながらも重い腰をあげて取り組むことにした。
大体僕はこういう作業失敗する。
色んな記事をぐるぐる巡りながら思ったのは
ん〜、そんな難しそうじゃないなぁ、ということ。
ところが、結論からいえば失敗したorz
でもなぜ失敗したかも分かった。
(技術的にはさっぱりですが・・・)
やったこと。
1.mt-config.cgi の変更
mt-config.cgiをDLして、以下のように書き直す。
#ObjectDriver DBI::mysql
#Database
#DBUser
#DBPassword
#DBHost
の箇所の#を外す。
そして、ロリポップのユーザー画面から必要事項の記入をする。
↓
ObjectDriver DBI::mysql
Database データベース名
DBUser ユーザー名
DBPassword *******
DBHost mysql**.lolipop.jp
で、この時点では
DataSource ./db
はそのまま編集せずにおいておくらしい
僕はある記事にこの段階で
#DataSource ./db
このようにコメントアウト(無効化)するという記事があったので、
その通りにしたらその記事を書いていた人と同じように、
データが初期化され、記事全部が反映されなくなった。
その人はデータを書き出しとかしてまた読み込みとかしていたが、
で、僕もそれを真似したがうまくいかずに
一回、保存用にDLしていたデータを再度サーバーにUPして、
もう一度この段階で#をつけないで試したら今度はうまくいった。
で、mt-config.cgiをアップロードして、
普段メインメニューを開く 「/mt.cgi 」 のURLを 「/mt-db2sql.cgi」に変えアクセスする。
ちょっと時間を置いて(ドキドキ・・・)
"Done copying data from Berkeley DB to your SQL database! All went well."
が出たらOK!
そしてこの段階で mt-config.cgi の DataSource 行をコメントアウトする。
#DataSource ./db
最後に、
mt.cgi にアクセスして、動作が確認できたら、
DataSourceで指定していたフォルダ(/db/)を削除します。
これで移行作業は完了!
再構築等も僕の場合はうまくいきました。
とりあえずうまくいったので良かったです!
◇参考にさせて頂いたサイト◇
- Newer: 滅びゆく知の巨人-立花隆はどこへ行くのか
- Older: 人生の100のリスト