index page
目次へ戻る

(Since 27 July 2003)
(Updated 06 Augst 2003)


RubyでMySQLを使う


  • MySQLとは
    実はまだ良く分かっていません。とりあえず高速に動くSQLデータベースです。さらに嬉しいことにフリーで入手でき、多くのプラットフォームで動きます。そこで、このデータベースを使うことにしました。

  • MysSQLのインストール
    MySQLのホームページ(だと思う)の「Database Server」というところから「Recent: *.**.**」(*のところは数字)をたどって、ダウンロードページへ行きます。 windows のところの Download からダウンロードします。 インストール自体はごく普通に解凍してから setup.exe を実行します。あとは、指示に従います。

  • MysSQLの文字コードをシフトJISに変更する
    mysql/binのフォルダにあるwinmysqladmin.exeを起動する。タブでmy.ini Setupを選択する。記入されている文字の下に次の内容を記述して、Save Modificationをする。
    [mysqld]
    default-character-set=sjis
    [mysql]
    default-character-set=sjis
    [mysqldump]
    default-character-set=sjis
    

  • Ruby用のAPIのインストール
    Ruby Application Archive の中のページの「Download」と書いているところの左のリンクからダウンロードします。解凍してから install.rb を実行するのみ。

  • テストプログラム
    インストール後の設定がちょっと手間取るかも知れません。手間取らなかったら、それでいいんですが、もしも私と同じように手間取ったら参考にしてください。私のパソコンで 「快速MySQLでデータベースアプリ」というページのテストプログラムを起動させようとすると、「Can't connect to local MySQL server through socket '/tmp/mysql.sock'」というエラーが出てきました。なんとなく言っている意味はわかるんけれども、対応の仕方がわからなかった。
    mysql.sockという空のファイルを作ったりしたけど、全然ダメ。my.cnfという設定ファイルの設定を変えても、これまたダメ。
    試行錯誤するうちに、ネットワークの設定とかかが関係しているような気がしたので、その辺を設定しなおした。具体的にはコンピュータ名を「localhost」(でなくてもいいと思うが)か何かホスト名らしいのにして、テストプログラムの「'localhost'」というところをにそのコンピュータ名を入れる。なぜか大文字にして「'LOCALHOST'」とするとうまくいった。
    でも、一難去ってまた一難で、今度は一度は成功したテストプログラムが「Can't create database 'test_ruby'.」というエラーメッセージがでて2度目は起動しない。そこで、「drop_databese」というメソッドを使って、データベースを消去するようにすると、今度はうまく行った。

  • MySQLの使い方
    MySQL - Ruby インタフェースのreadmeを参考にしつつ、ただいま勉強中です。

  • (おまけ)apacheのインストール
    apacheのホームページから apache (最もよく使われている(と言われている)ウエブサーバ)をダウンロードする。普通にインストール。その後、futomi's CGI Cafe - Apacheの設定に従って、各種設定をする。
    これで、 Ruby と MySQL に apache を加えた、ウエブ上でのデータベースを構築することができるはずです。

  • (さらにおまけ)SQLの文法など
    SQLについては、SQL -SQLの基礎から応用まで−リレーショナル型データベース(RDBMS)を操作するというページがなかなか分かりやすいです。
    目次へ戻る