お知らせ

Excelでできるらくらく統計解析2010年4月7日

Excelでできるらくらく統計解析」が発売されました。
Excelを使って、ヒストグラム作成から推定・検定・多変量解析といった統計行う方法を解説しています。
多数の式を入力する必要がある処理は、「統計アドイン」で簡単に行えるようになっています。

他にも多数書籍を執筆しています。
こちらもぜひご覧ください。

Movable Type 3.2アップグレードの際にBerkeley DBから他のデータベースに変える手順

| コメント(4) | トラックバック(10)

Movable Type 3.2日本語版がリリースされて10日ほど経ちましたが、データベースとしてBerkeley DBを使っていると、いろいろと不具合が出ることが確認されています。
不具合対策をしたバージョンがリリースされるとのことです。

参考:SixApartのニュースリリース

ただ、Berkeley DBは簡易的なデータベース管理システムで、Movable Typeを動作させるのには、機能/性能的に十分だとは言えないです。
Movable Typeでは、Berkeley DB以外に、MySQL/PostgreSQL/SQLiteのデータベース管理システムを使うこともできます。
これらに変えれば、現時点の不具合を回避することができます。
また、サーバーの構成によっては、再構築のスピードが上がるというメリットもあります。

ということで、Movable Type 3.1xからMovable Type 3.2へアップグレードする際に、データベースも変換すことをお勧めします。
このエントリーでは、その手順を解説します。

1.現在のMT環境をバックアップ

万が一の事態に備えて、現在のMovable Type 3.1xの環境を、ご自分のパソコンに丸ごとダウンロードし、バックアップしておきます。

2.Movable Type 3.2を入手

SixApartのサイトから、Movable Type 3.2をダウンロードして、自分のパソコンで解凍します。

3.mt-config.cgiの設定

Movable Type 3.1xでは、設定ファイルの名前は「mt.cfg」でした。
一方、Movable Type 3.2では、設定ファイルの名前が「mt-config.cgi」に変わっています。

解凍したファイルの中に、「mt-config.cgi-original」というファイルがあります。
Movable Type 3.1xのmt.cfgを元にしてこのファイルを書き換え、「mt-config.cgi」というファイル名で保存します。

4.Movable Type 3.2のアップロード

Movable Type 3.1xをインストールしているディレクトリに、Movable Type 3.2を上書きします。
また、Movable Type 3.2ではCGIのファイルがいくつか増えています。
それらのパーミッションを書き換えて、実行可能にしておきます。

5.mt-check.cgiを実行

Webブラウザを起動し、「http://Movable Typeのインストール先/mt-check.cgi」に接続し、mt-check.cgiを実行して、結果を確認します。

6.mt.cfgの削除

Movable Typeのディレクトリから、mt.cfgファイルを削除します。

7.Movable Type 3.2へのアップグレード

Webブラウザを起動し、「http://Movable Typeのインストール先/mt.cgi」に接続します。
ログイン画面が表示されますので、ログイン名とパスワードを入力してログインします。
すると、「インストール完了」のメッセージが表示されますので、「アップグレードの開始」ボタンをクリックします。
しばらくの間、アップグレードの処理が行われます。「アップグレードが完了しました」と表示されたら、アップグレードは完了です。
「Movable Typeに戻る」ボタンをクリックして、Movable Typeにログインできることを確認します。
また、Movable Type 3.1xからデータが引き継がれていることも確認します。

8.mt-db-convert.cgiをインストール

今の段階では、データベースはまだBerkeley DBのままです。これを、MySQLなどに変換します。

Movable Type 3.2には「mt-db2sql.cgi」というCGIが入っていて、それで変換することができますが、SQLiteに変換する際には時間がかかって、途中で500エラーが出ることがあるという問題があります。
そこで、小川宏高さんのBlogの「Ogawa::Memoranda」で配布されている「mt-db-convert.cgi」を利用します。

このページに接続して、Zipファイルをダウンロードします。
解凍すると2つのファイルができます。そのうち、「mt-db-convert.cgi」を、Movable Typeのインストール先ディレクトリにアップロードします。
そして、そのファイルのパーミッションを書き換え、実行可能にします。

9.SQLiteへの変換

「http://Movable Typeのインストール先/mt-db-convert.cgi」に接続して、mt-db-convert.cgiを実行します。
データベースをSQLiteに変換する場合は、「Destination DB Configuration」の部分の「Object Driver」で「SQLite」を選び、その下の「Database」の欄に変換先のファイル名を入力します。
設定が終わったら、「Convert」ボタンをクリックします。

↓SQLiteへ変換する場合の設定の例(クリックすると別ウィンドウに元のサイズで表示されます)
SQLiteへ変換する場合の設定例

なお、変換先のファイルを出力するディレクトリは、あらかじめ作っておく必要があります。
また、そのディレクトリはCGIから書き込みができるようにパーミッションを設定しておく必要があります。

10.MySQL/PostgreSQLに変換

データベースをMySQLかPostgreSQLに変換する場合は、以下の手順を取ります。

  • mt-db-convert.cgiに接続します。
  • 「Destination DB Configuration」の部分の「Object Driver」で適切なドライバーを選びます。
  • その下の「Database」「DBUser」「DBHost」「DBPassword」の各欄に、MySQL/PostgreSQLに接続するための設定を入力します。
  • 設定が終わったら、「Convert」ボタンをクリックします。

↓MySQLに変換する場合の設定の例(クリックすると別ウィンドウに元のサイズで表示されます)
MySQLへ変換する場合の設定例

11.mt-config.cgiの書き換え

mt-db-convert.cgiで変換が終わると、mt-config.cgiの書き換え例が表示されます(Berkeley DBの設定の削除と、各種SQLの設定の有効化)。
その指示に従って、mt-config.cgiを書き換え、アップロードしなおします。

12.作業終了

ここまででアップグレードの作業は終了です。
Movable Typeにログインして、既存の環境が引き継がれているかどうかを確認します。

13.ファイルの削除

アップグレードが無事に済んでいれば、不要なファイルを削除します。
まず、Movable Typeのディレクトリから、mt-check.cgi/mt-db2sql.cgi/mt-db-convert.cgiを削除します。
また、「images」ディレクトリも削除します。
さらに、Berkeley DBのデータベースも、ディレクトリごと削除することができます(ただし、万が一に備えて、バックアップを取っておくことをお勧めします)。

14.補足

レンタルサーバーでは、データベースはMySQLが使えるところが多いと思います。
ただ、仕様に明記されていなくても、SQLiteを使えるレンタルサーバーもあります。
mt-check.cgiを実行した時に、「サーバーには、DBD::SQLiteがインストールされています。」と表示されれば、SQLiteも使えるはずです。

ロリポップはMySQLを使うことができますが、MySQLのサーバーの数が少なく、動作が重いといわれています。
実際、私も以前はロリポップでMySQLを使っていましたが、動作が重かったです。
ところが、CHEEBOWさんのBlog「Movable Typeで行こう」によると、ロリポップでSQLiteが使えるようになったとのことです
実際に試してみましたが、MySQLのときよりも動作が軽くなりました。
ロリポップユーザーの方は、SQLiteへの移行を試されると良いと思います。

トラックバック(10)

トラックバックURL: http://www.h-fj.com/mt/mt-tb.cgi/310.

ついでに、DB を BarkeleyDB から SQLiteへ変更しま... 続きを読む

ここ で いったんアップグレードしてみたものの、あれこれ都合の悪いことが起きて ... 続きを読む

ここ で いったんアップグレードしてみたものの、あれこれ都合の悪いことが起きて ... 続きを読む

なんとかMT3.2-ja-2に。 以下のサイトを参考にBerkeleyDBからS... 続きを読む

♪ごきげんBLOG♪ - SQLite に変更 (2005年11月 1日 18:29)

昨日 書いたように、今回 このブログをアップグレードする際、データベースのタイプ... 続きを読む

♪ごきげんBLOG♪ - SQLite に変更 (2005年11月 1日 18:31)

昨日 書いたように、今回 このブログをアップグレードする際、データベースのタイプ... 続きを読む

きおくのきろく - MySQLいこー (2005年11月16日 21:10)

どーも、投稿するときにエラーでたり 編集して保存するとエラーでたり するので、... 続きを読む

Hesokuri-Way×へそくりライフ - MYSQLからSQLiteへ移行 (2005年12月 6日 01:19)

ロリポップはBerkeley DBの方が体感速度は軽いと思う。とか・・・ 噂によるとロリポのMySQLは、もの凄い人数を詰... 続きを読む

最近再構築時に以上に時間がかかったり、エラーが出たりするのが気になっていました... 続きを読む

DBをBerkeleyDB→SQLiteへ変更。再構築時の500エラーがなくなりました! 続きを読む

コメント(スレッド4件,コメント4件)

コメントはスレッド表示になっています。
また、スレッドの先頭のコメントに対する返信には、先頭に矢印を表示しています。

No.1 さえら : (無題)

こんにちはー。うちは初めてMTを入れたときに ロリポップの
マニュアルにしたがって、MySQLにしようとしたのですが、
何度やっても エラーになってしまって、できなかったので、仕方なく
ずっとBerkeley DBを使ってきました。
3.2にアップグレードしたら SQLiteにしてみようと思います。

No.2 さえら : (無題)

こんにちはー。来週にならないと アップグレード作業できないかな、と思ってたのですが気になったので、今日 やってしまいました。せっかくですので、DBも SQLiteに 変換、やっと Berkeley DB を卒業できました。カテゴリアーカイブの再構築中にエラーになってしまうのですが、これは どうしようもないんでしょうか?

No.3 るびー : (無題)

壱さん、こんにちは。
わざわざお越しいただき、なおかつソースまで調べていただいてどうもありがとうございました。

データベースのせいでもMTのせいでもなかったのですね。
テーブルでくくるの、気に入っていたのですけど・・・。
それが原因となれば、直すしかないです。
これからひと頑張りします。

どこへ書き込んでよいものか迷ったのですが、
とりあえず関連記事へ書き込ませていただきました。
ご迷惑でしたら削除して下さいませ汗

No.4 fei : (無題)

何度もすみません。
小川さんのサイトさんでちょっと聞いてみてます。
(´・(●●)・)(o´_ _)oペコリ

コメントする