繁体   English   中英

Rails 开发 - 无法连接到“本地主机”上的 MySQL 服务器 (10061)

[英]Rails development - Can't connect to MySQL server on 'localhost' (10061)

我是使用 MySQL 作为数据库的 Rails 开发新手。 我可以使用以下命令成功连接到 MySQL:

    MySQL -u macDaddy -p

在命令提示符下,所以我知道用户是有效的并且 MySQL 正在运行。 但是当我尝试跑步时

    rake db:schema:dump

在命令行我收到这个错误:rake aborted! 无法连接到“本地主机”上的 MySQL 服务器 (10061)

我的database.yml 有问题吗? 这里是:

    development:
      adapter: mysql2
      encoding: utf8
      reconnect: false
      database: bookmobile
      pool: 5
      username: macDaddy
      password: booklover
      host: localhost
      socket: mysql
      port: 3306

我也试过删除端口和套接字线,但我仍然遇到同样的错误。 请帮忙。 这是我的版本:

  • 在 Windows 7 上开发
  • MySQL Ver 14.14 distrib 5.5.21 for win64
  • 服务器版本 5.5.21
  • 导轨 3.2.1

谢谢!

我最好的猜测是,您表示为 Windows 的机器启用了 IPv6 网络。 因此,当您尝试访问 localhost 时,它会解析为“::1”。 这实际上是本地机器,但是,默认的 MySQL 安装通常将绑定地址设置为 127.0.0.1,这会导致 localhost 在此设置中失败。

您可以通过从命令提示符运行ping localhost来验证这一点,并查看是否收到如下响应:

 Reply from ::1: time<1ms

要解决此问题,您可以更改配置以指定:

 host: 127.0.0.1

或者,您可以更改 MySQL 的配置以允许不同的绑定地址,例如 localhost 而不是 127.0.0.1。

只需将您的主机更改为 host:127.0.0.1

database.yml主机的值更改为“127.0.0.1”即可 或者,您可以修改您电脑的主机文件,添加一个项目为“localhost 127.0.0.1”。

我有一个类似的错误,但这是因为在 database.yml 中缺少端口:3306。 一旦我添加了端口:3306 问题就解决了。

这是因为你的数据库服务器(mysql)没有设置密码,试试这个:

development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: bookmobile
  pool: 5
  username: macDaddy
  password:
  host: localhost
  socket: mysql
  port: 3306

确保您在创建 MySQL 时设置的端口号(例如:7777),请使用适当的“用户名”和“密码”添加端口号。

default: &default
  adapter: mysql2
  encoding: utf8
  pool: 5
  username: root
  password: admin
  host: localhost
  port: 7777

在应用程序目录的 config 目录中的 database.yml 中。

确保 mysql 服务器正在运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM