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

2019-06-24 22:24发布

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

MySQL -u macDaddy -p

在命令提示符下,所以我知道该用户有效和MySQL正在运行。 但是,当我尝试运行

rake db:schema:dump

在命令行中我得到这个错误:耙中止! 无法连接到MySQL服务器上的“localhost”(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的版本14.14 Win64的服务器21年5月5日版DISTRIB 21年5月5日

Rails的3.2.1

谢谢!

Answer 1:

我最好的猜测是,机器,您表示如Windows,已经IPv6网络。启用。 因此,当你试图去本地主机,它解析为“:: 1”。 这实际上是在本地机器上,然而,MySQL默认安装通常都绑定地址为127.0.0.1,这将导致本地主机在此设置失败。

您可能能够通过运行来验证这个ping localhost在命令提示符下,如果你得到的回应看:

 Reply from ::1: time<1ms

为了解决这个问题,你可以改变你的配置指定:

 host: 127.0.0.1

或者,你可以改变MySQL的配置,以允许不同的绑定地址,例如本地主机,而不是127.0.0.1。



Answer 2:

简单地改变你的主机到主机:127.0.0.1



Answer 3:

更改主机的值在database.yml中“127.0.0.1”将起作用。 或者,你可以修改你的个人电脑的hosts文件,添加一个项目作为“本地主机127.0.0.1”。



Answer 4:

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



Answer 5:

这是因为你没有密码在你的数据库服务器(MySQL的),请尝试以下设置:

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


Answer 6:

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

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

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



Answer 7:

确保MySQL服务器正在运行。



文章来源: Rails development - Can't connect to MySQL server on 'localhost' (10061)