1. ホーム
  2. mysql

[解決済み] Ruby on Rails 3 OSXでソケット '/tmp/mysql.sock' を使ってローカルのMySQLサーバに接続できない。

2023-05-25 07:53:12

質問

私はRails3の標準環境、RVM 1.2.9、Rails 3.0.5、Ruby 1.9.2p180、MySQL2 Gem 0.2.7, mysql-5.5.10-osx10.6-x86_64 を持っているのですが、この環境はどうでしょうか?

を実行したときに出るエラー rake db:migrate を実行してデータベースを作成すると、次のようになります。

Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

config/database.yml には

development:
  adapter: mysql2
  host: localhost
  username: root
  password: xxxx
  database: xxxx

は、私が見逃している何か単純なものであることを確信しています。

どのように解決するのですか?

まず、ソケットファイルを探します。

mysqladmin variables | grep socket

私の場合、これは与える。

| socket                                            | /tmp/mysql.sock                                                                                                        |

次に config/database.yml :

development:
  adapter: mysql2
  host: localhost
  username: root
  password: xxxx
  database: xxxx
  socket: /tmp/mysql.sock