絖綛 N@i.jp  昨日:00052753
 今日:00006572
 総計:00097288
keywords
管理者専用
  Post   Add link   Control Panel 































新しいトピック
最新:07/03 19:28


新しいコメント
最新:07/28 16:47






管理人へMAIL

プライバシーポリシー

わけ分からないうちに出来てしまった

MySQLを最新版に置き換えようとジタバタしていたら、何げに出来てしまって・・・


 MySQLを最新版(4.0.21)に上げるには色々とハードルがあるようだが、およその問題点は分かったので以下のような作戦を立ててやってみることにした。

  1. 何はともあれバックアップ。
  2. MySQLを最新版に置き換えるが、リブートやMySQLサーバの再起動をする前に(PerlのDBi,DBDが機能するうちに)DB形式を更新してしまう。
  3. Apacheの設定を変更してPHPモジュールを読み込まないようにしておく。
  4. リブートしてMySQLサーバ(mysqldデーモン)の最新版が動くようにする。
  5. PHPを作り直す。
  6. PHPをインストールしてリブート
 しかし実際には色々やっているうちに出来てしまった感が強く、一応備忘録代わりに作業手順を記しておくが本当に正しい方法か確証はない。


1. DBのバックアップ

 MySQL Ver.3.23.55 は "/usr/local/mysql" ディレクトリにインストールされているものと思う。このうちデータベースは "data" ディレクトリ下に構築されている。よって"data" ディレクトリをバックアップしておけば良い。以下ではホームディレクトリに "mysql-data.tar" としてバックアップしている。

$ cd /usr/local/mysql
$ sudo tar cvf ~/mysql-data.tar data
 バックアップした後、mysqlディレクトリを上書きされないように名前を変えておく。

$ cd /usr/local
$ sudo mv mysql mysql.old
 また、MySQLサーバ(mysqldデーモン) をMacOS-Xシステム起動時に立ち上げるために "/Library/StartupItems/StartupMySQL/" というディレクトリ(パッケージファイル) が置かれている。これもバックアップ(移動)しておく。

$ cd /Library/StartupItems
$ sudo mv StartupMySQL ~

2. MySQL最新版のインストール

 MySQLの最新版への置き換えを行う。
  1. MySQL本家 から MySQLのMacOS-X用 Installer package (今回は Mac OS X v10.3 Max 4.0.21 : "mysql-max-4.0.21-apple-darwin7.5.0-powerpc.dmg") をダウンロードする。
  2. ダウンロードしたディスクイメージファイルをダブルクリックしてマウントする。
  3. インストールパッケージ "mysql-max-4.0.21-apple-darwin7.5.0-powerpc.pkg" をダブルクリックしてインストールする。
    これで "/usr/local" の下の "mysql-max-4.0.21-apple-darwin7.5.0-powerpc" に MySQLがインストールされ、そこに"/usr/local/mysql" からシンボルリンクが張られているはず。
  4. 次にMySQLサーバ起動スクリプトをインストールする。インストールパッケージ "MySQLStartupItem.pkg" をダブルクリックしてインストールする。

3. DB形式の変換

 MySQLを3.23系から4.0系へアップする際の手順については Marc Liyanage氏のホームページ や、MySQL本家の"2.5.3 Upgrading from Version 3.23 to 4.0" に記載されている。
  1. phpMyAdmin等で作成されているDB名(おそらく mysql, test はあるはず。他にもアクセス解析や MovableTypeなどのために作ったものがあるだろう)をメモっておく。
  2. バックアップしておいたデータベースを復元する。
    
    $ cd /usr/local/mysql
    $ sudo rm -rf data
    $ sudo tar xvf ~/mysql-data.tar
    
  3. DB形式変換する。
    
    $ cd /usr/local/mysql/bin
    $ ./mysql_fix_privilege_tables root-password
    
    私のトコでは色々エラーが出まして、本当に成功したんだか極めて怪しい状態なんですが・・・
  4. ISAM ファイルを MyISAM ファイルに変換する。
    
    $ ./mysql_convert_table_format DB名
    
    DB名には先にメモっておいたもの (mysql, test, etc...) を入れる。
    こちらも私のトコではエラーが出まして、こちらはダイナミックリンクに失敗したというエラーで、とても動いたとは思えない状況なんだが・・・

4. リブートする

 一時的にPHPモジュールを読み込まない設定にしてMacを再起動する。
  1. "/etc/httpd/httpd.conf" を適当なエディタで編集して、PHPモジュールを読み込まないようにする。編集箇所は、
    
    LoadModule php4_module       libexec/httpd/libphp4.so
         ↓
    #LoadModule php4_module       libexec/httpd/libphp4.so
    
    
    AddModule mod_php4.c
         ↓
    #AddModule mod_php4.c
    
    の2箇所。
  2. Macを再起動する。
これで MySQLサーバ(mysqldデーモン) は最新版のもので起動するはず。

5. PHPを作り直す

 PHPのビルド方法は以前にも書いた方法と変わりない。

$ ./configure --prefix=/usr/local/php ¥
            --with-config-file-path=/usr/local/php/lib ¥
            --with-apxs ¥
            --with-iconv=/usr/local/php ¥
            --with-zlib=/usr ¥
            --with-mysql=/usr/local/mysql ¥
            --enable-cgi ¥
            --with-png-dir=/usr/local/php ¥
            --with-freetype-dir=/usr/local/php ¥
            --with-t1lib=/usr/local/php ¥
            --with-jpeg-dir=/usr/local/php ¥
            --with-tiff-dir=/usr/local/php ¥
            --with-curl=/usr/local/php ¥
            --with-dom=/usr/local/php ¥
            --with-ldap ¥
            --with-iodbc=/usr ¥
            --enable-sockets ¥
            --enable-dbx ¥
            --enable-dbase ¥
            --enable-trans-sid ¥
            --enable-exif ¥
            --enable-wddx ¥
            --enable-ftp ¥
            --enable-mbstring ¥
            --enable-mbstr-enc-trans ¥
            --enable-mbregex
$ make
$ sudo make install
 これで先に書き換えた "/etc/httpd/httpd.conf" は再び PHPモジュールを読み込む設定に書き直されているはずだ。一応確認してから Mac を再起動する。

6. DBDを作り直す

 DBDのビルド方法も以前に書いた方法と変わりない。同様に作り直してインストールしておく。

7. 確認

 phpMyAdminなどを使ってデータベースが存在しているように見えるか、登録してあるユーザがあるか確認する。また Blogホームページが正常に表示され、記事がポストできるか確認する。

 以上、私の記憶の中では上のように作業したつもりなんですが、特にDB形式変換のところでは盛大にエラーが出ていたりしたので、どこまで正しいか全く自信がありません。間違っていたらゴメンナサイです・・・


< 過去の記事 [ 9月の 全てのカテゴリ リスト ] 新しい記事 >

2004 calendar
9月
1234
567891011
12131415161718
19202122232425
2627282930


掲示板
最新:08/15 17:19


GsBlog was developed by GUSTAV, Copyright(C) 2003, Web Application Factory All Rights Reserved.