我使用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
谢谢!
我最好的猜测是,机器,您表示如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。
更改主机的值在database.yml中是“127.0.0.1”将起作用。 或者,你可以修改你的个人电脑的hosts文件,添加一个项目作为“本地主机127.0.0.1”。
我有一个类似的错误,但它是因为端口:3306在database.yml中失踪。 有一次,我添加的端口: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。