[英]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 的机器启用了 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.