mysql - Ruby on Rails 3 无法通过 OSX 上的套接字 '/tmp/mysql.sock' 连接到本地 MySQL 服务器

标签 mysql ruby-on-rails-3 macos

我有一个标准的 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

确定这是我缺少的一些简单的东西。

最佳答案

首先,找到你的socket文件:

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

关于mysql - Ruby on Rails 3 无法通过 OSX 上的套接字 '/tmp/mysql.sock' 连接到本地 MySQL 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5499035/

相关文章:

ruby-on-rails - 使用 Cucumber,有没有办法让用户在没有界面的情况下登录?

ruby - 使用 RVM 在 OSX 上安装 Rails 3

java - 在 Mac 上通过 Java 使用数据库

macos - zsh:权限被拒绝

php - PHP实现的机票预订系统

MySQL InnoDB 直接从索引中选择数据

ruby-on-rails - 评估数组是否有 ruby​​ 中的任何项目

mysql - 我们应该在数据库中做多少工作?

php - MySQL查询无法与PHP一起使用,并抛出CREATE TABLE错误

ruby-on-rails - `method_missing' : ActionMailer::Base:Class 的未定义方法 `add_delivery_method'