Atelierで“MySQL”タグの付いているブログ記事

2011年3月27日

隠居のMovableType:データベースをMySQL4 から MySQL5 へ 


 今までのブログ以外にサイトを開設する気になった。新しいサイトをつくるにあたっては、最新の MovableType5(MT5) を導入して見ようと考えた。MT5 では、ブログだけでなくウェブページも管理しやすくなっているらしい。早速、【基本からしっかりわかる Movable Type 5】という参考書を購入して、これに倣ってトライしてみることにした。

 新しいサイトのために、独自ドメインをレンタル・サーバー先の Xserver から取得した。サーバーは、今のところに余裕があるので、これを使うことにした。
 MT5 の導入については、また別のエントリーで記録することにして、今回は MT5 で使用する推奨データベース MySQL5 を設定したときに気をつけねばならない事項を備忘録として記録することにした。
 Xserver では、ドメインが異なっても、同一アカウントではデータベース MySQL のバージョンは複数では運用できないようだ。同じサーバーを使うのだから当然なのかもしれないが。
 知識のない人間がデータベースをいじるので、いささか勇気がいるが、Xserver には MySQL4 から MySQL5 への移行サービスがあるので、これを使って移行した。
 移行の結果、ブログのページを見ると、一見うまく移行しているように見えたが、次のページへリンクできなくなっていた。
  • ブログ内で作成した Webpage
  • ブログ編集画面が開かない
  • アクセス解析の Research Artisan Lite の表示(再設定を求められる)

 対処をネットでググってみると、MT4 のインストール以降いじったことのない mt-config.cgi というファイルにある DATABASE SETTINGS で指定しているデータベース MySql の項にある DBHost をXserver で移行したときに示されたホスト名(私の場合、localhost ⇒ mysql14.xsever.jp )に変更しなければならないことが分かった。
 FFFTP でホストにある mt-config.cgi ファイルを ローカルにダウンロードして、【秀丸】で該当箇所を修正して、再度ホストにアップロードした。すると、今までのブログ編集画面( http://xxxxxx/cgi/mt/mt.cgi )が開くようになった。ここで、ブログごとに再構築を行うと、Webpage へのリンクは復活した。
 また、再設定を求められる Research Artisan Lite は、【「public_html(ドキュメントルート)」ディレクトリの下の階層にある「setting」ディレクトリ】のアクセス権(パーミッション)を書き込み可能("777")に変更する必要があるが、再設定画面でホスト名を変更(他の項目は変更なし)すると、結果が表示されるようになった。
 DB を移行すると文字化けがよく起こるようであるが、文字コードを MT の基本である UTF8 に指定したためか、今のところ文字化けは起こっていない。
 今後も、いろいろと問題が起こるかもしれないが、それぞれで対処していくことになるだろう。これで、MT5 を設定する環境は整った。

   
基本からしっかりわかるMovable Type 5 (Web Designing BOOKS)
田口和裕
毎日コミュニケーションズ
売り上げランキング: 53216
 

2008年5月18日

隠居、MT3.3 でのDB 移行:SQlite→MySQL

  Movable Type 4.1 を勉強しようとMovable Typeの世界ではそうそうたるメンバーが執筆した「Movable Type プロフェッショナル・スタイル」を奮発して購入した。テンプレートなどを使わせてもらっている「小粋空間」の管理者 荒木勇次郎さんも一部を執筆されている。

 この本の最後の章「設置・運用に関するTIPS」(Online Digital Clock Works:丹羽章さん担当)に、
セキュリティやパフォーマンス、管理ツールの充実度で MySQL を推奨します。
とある。MT4.1 では、データベースは MySQL がいいらしい。
MT3.3 から MT4.1 へのアップグレードの準備として、現在使用している MT3.3 でのデータベース移行を実施した。
移行手順を自分用の備忘録として書いておきたい。

 上の丹羽章さんの「設置・運用に関するTIPS」では、小川宏高さんの移行ユティリティ(MTデータベースの相互変換CGI スクリプト)が紹介されている。データベース変換をググッテみると、皆さん、このスクリプトを使用されている。私の場合、レンタル・サーバーはXserver なので、この環境での実施順を書き留めておく。実際は試行錯誤したが。

1. まず、Xserver のサーバーパネルにログインし、「DATABASE」→「MySQLの設定」を選択し、新たに MySQL Database を設定する。MySQL Database の設定は、小川宏高さんのインストール手順にはない。そんなことは、当然のことかもしれない。

2. 「MySQLの追加」で、例えば nshuhei_mt33 を追加する。

3. 「MySQLユーザーの追加」で、例えば nshuhei_mt33 を追加する。ホスト名は、localhost をそのまま使う。(変えない) 適宜なパスワードを設定する。

4. 「MTデータベースの相互変換CGI スクリプト」で指示されている方法で、[mt-db-convert.cgi] をFFTP で mt.cgi と同じディレクトリーにアップロードする。FFTP では、名前を変えてアップロードするという機能があるので、[mt-db-convert33.cgi]の"33"部分をはずしてUPし、パーミッション(属性)を 700 とする。

5. ブラウザーのアドレス部分に、[http://xxxxxxxx.xxx/cgi/mt/mt-db-convert.cgi] を入力し実行すると左のスクリーンショット(クリックすると大きな図で別画面に表示されます)のような画面が現れる。(この画面は、レタッチソフトでいじっている)

6. 画面の指示に従って、必要な事項を入力する。Source DB が SQLite の場合、フルパスが既に表示されている。DBUser, DBPassword, DBHost は入力しない(できない)。

7. 右側のDestination DB には、MySQL を選択し、DataSource 欄は空欄のまま(入力できない)で、DataBase, DBUser, DBPassword, DBHost をそれぞれXserver のサーバーパネルで MySQL を設定したときの name などを使う。DBHost は、 Xserver では、初期値が localhost となっているのでそのまま使用した。

8. 左下の [convert] ボタンをクリックすると変換が始まる。何か設定が間違っている場合は、エラー・メッセージが表示され変換は中止する。
 途中で、Warning がでたりするが大丈夫のようだ。上手くいくと "Done copying data from DBI::sqlite to DBI::mysql! All went well." というようなメッセージがでる。

9. 無事にデータ移行が完了したようなので、mt/mt-config.cgi を「秀丸」で修正してアップロードした。修正する部分は、MySQL Configuration の設定と SQLite DB をコメントアウトするところである。それぞれ以下のように修正する。
### MySQL Configuration - Add the name of your database, username
# password and, optionally database host given to you by your web
# hosting provider.
#
ObjectDriver DBI::mysql
Database nshuhei_mt33
DBUser nshuhei_mt33
DBPassword xxxxxxxxxx
DBHost localhost

### SQLite Configuration - SQLite requires only the path to your SQLite
# database file.
#
#ObjectDriver DBI::sqlite
#Database /home/xxxxxxxx/n-shuhei.net/public_html/cgi/mt/db/sqlite.db

 これで完了である。見た目は変わらないが、ページ展開などが早くなったような気がしている。なによりも、MT4.1へのアップグレード準備が一つできたので喜んでいる。歳をとっての作業はなにをしても時間がかかる。困ったもんだ。

 なお、DB変換にあたっては、「MOvableType備忘録」の下のページを参考にさせて頂いた。ありがとうございました。http://bizcaz.com/archives/2006/08/02-065216.php#復旧手順