m-namikiの日記

おもしろき こともなき世を おもしろく

[Ruby]MySQLを利用したRubyアプリを作る

今回はRailsではなく、通常のRubyアプリからDBを操作する。

MySQL接続用ライブラリのインストール

まずはMySQLへの接続用ライブラリをgemsを使ってインストールする。JavaでいうJDBCドライバみたいなものか。

gem install mysql

SQLite3のときと同様に「No definition 〜」というメッセージが表示されたが気にしない。インストールされたバージョンは、mysql-2.8.1-x86-mswin32だった。

接続してみる

以下のようなコードでローカルPCにインストールしたMySQLにアクセスしてみる。

require 'mysql'
begin
  my = Mysql::new("localhost", "root", "mysql", "demo")
  puts "Server version: " + my.get_server_info
ensure
  my.close
end

すると、以下のようなエラーメッセージが表示された。

db/select.rb:1:in `require': no such file to load -- mysql (LoadError)

mysqlというライブラリが見つからないよ、と言っているがmysql用のライブラリはgemsでインストール済み。そこで調べてみると先ほどのコードの先頭にrubygemsを使うよ、という宣言が必要らしい。

require 'rubygems'
require 'mysql'
begin
  my = Mysql::new("localhost", "root", "mysql", "demo")
  puts "Server version: " + my.get_server_info
ensure
  my.close
end

これでMySQLに接続することができた。次回は実際にCRUDを行ってみる。

参考にしたサイト:http://www.question-defense.com/2009/03/26/mysql-ruby-gem-require-no-such-file-to-load-mysql-loaderror/