読者です 読者をやめる 読者になる 読者になる

ruby-mysqlとMySQL5.5を入れたときにsocketファイルが見当たらない

Railsの前にまずはRubyMySQLを接続してみよう!と

require 'mysql'
client= Mysql.connect('host', 'user', 'password', 'database')
...
こんな感じで実行すると2行目で以下のようなエラーが出る。
No such file or directory - /tmp/mysql.sock

調べてもrailsの情報ばかりで、おおはまり。

エラーメッセージから/tmp/mysql.sockがないとのことなので、socketファイルをそこに置くか、ruby-mysqlをそこに見るかが簡単な方法のはず。
MySQLを変更するのはちょっと怖かったので、ruby-mysqlの変更をすることにする。

ruby-mysqlをソースから引っ張ってくる。
libフォルダにmysql.rbというファイルがある。

【修正前】
MYSQL_UNIX_PORT = "/tmp/mysql.sock"

【修正後】
MYSQL_UNIX_PORT = "/var/run/mysqld/mysqld.sock"

これで再インストール(書く必要ないと思うけど、一応・・・)
ruby setup.rb

ということで、SQLを叩いたら動いた。
環境構築は苦手です。。。