タグ「database」が付けられているもの

MAMPにMTをインストールする際のメモ

  • 投稿日:
  • by
  • カテゴリ:

MT関連の開発にはMAMPに複数のバージョンのMTを同時にインストールして使っていますが、毎回新しいバージョンを入れる度にやり方をすっかり忘れているので、次にインストールする時のためにここにメモしておきます。

  1. MTのアーカイブを展開後、"mt425"等バージョン番号をつけたディレクトリ名にrenameし、DocumentRootへコピーする。
  2. 以下の内容でmt-config.cgiを作成する。
    CGIPath        /mt425/
    StaticWebPath  /mt425/mt-static/
    StaticFilePath /Applications/MAMP/htdocs/mt425/mt-static
    
    ObjectDriver DBI::mysql
    Database mt425
    DBUser root
    DBPassword xxxx
    DBHost localhost
    DBSocket /Applications/MAMP/tmp/mysql/mysql.sock
    
    MailTransfer sendmail
    SendMailPath /usr/sbin/sendmail
    
    MySQLのSoketファイルは/Applications/MAMP/tmp/mysql/mysql.sockにある。mt-config.cgiのDBSocketにはこれを設定する。
  3. バージョン毎のディレクトリ以下で直接cgiが動くよう、DocumentRootに以下の内容の.htaccessが存在するか確認し、なければ作成する。
    Options +ExecCGI
    AddHandler cgi-script .cgi
    
  4. mt-config.cgiで指定したデータベースを作成する。mysql/mysqladminは/Applications/MAMP/Library/binにある。
    > mysqladmin -u root -p create mt425 --default-character-set=utf8
    
  5. mt.cfgにアクセスする。

MAMPを起動しても、Apache/MySQLサーバの状態が「赤」になり、起動しないことがたまにあります。そういう場合は、/Applications/MAMP/bin/apache2/logs/httpd.pidが存在するならそれを削除してみます。MySQLで同様の場合は、/Applications/MAMP/tmp/mysql/mysql.pidを削除してみます。

MTのDBをSQLiteからMySQLへ

  • 投稿日:
  • by
  • カテゴリ:

MTが動いているサーバを移転することになりました。
しかし、

  • 旧サーバはSQLiteしか使えない
  • 新サーバはMySQLしか使えない

ということで、SQLiteのファイルをそのまま移動して終わりと言うわけにはいきません。
どこかで、新サーバのMySQLにデータを移行するために変換を行う必要があります。
そこで、こんな方法を考えてみました。

  1. 旧サーバのSQLiteのデータベースファイルをローカルPCにバックアップする
  2. ローカル環境に構築したサーバに旧サーバのMTと同じバージョンのMTをインストールしておく
  3. バックアップしたSQLiteのバックアップファイルをローカル環境のMTで使えるようにMT側の設定を行い、ファイルを所定のディレクトリにおく
  4. ogawaさんの「MT Database Converter 」を使い、MySQLにコンバート
  5. MySQLのデータベースをdumpする
  6. dumpしたデータを新サーバのMySQLにインポートする

これで、うまくいくはずなんですが、はまったのが

旧サーバとローカルサーバのDBD::SQLiteのバージョンを揃える必要がある

という点でした。
今回は、旧サーバのバージョンにあわせてモジュールをインストールしました。

この手の作業は、仕事で時々発生することがあると思うので、ここにメモしておきます。