Rails无法连接到本地MySQL服务器

3

虽然我已经研究了无数相关的讨论,但我的Rails 3应用程序的Mysql连接问题一直没有解决。下面是我的错误信息:

C:/Ruby193/lib/ruby/gems/1.9.1/gems/mysql2-0.3.11-x86-mingw32/lib/mysql2/client.rb:44:in `connect': Can't connect to MySQL server on 'localhost' (10061) (Mysql2::Error)

在您标记此问题为重复之前,请考虑是否可以找到其他有关建议的线程,我尚未遵循。
我的努力:
我已经将libmysql.dll文件从/bin复制到/bin。
我在bundle中拥有mysql2 gem,并且它是与连接器一起安装的(--with-mysql-dir=C:/mysql-connector-c-noinstall-6.0.2-win32)。
> bundle show mysql2
C:/Ruby193/lib/ruby/gems/1.9.1/gems/mysql2-0.3.11-x86-mingw32

我相信我的database.yml文件已经正确配置:

development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: tq_development
  pool: 5
  username: root
  password: pinney
  host: localhost

1
你能在命令行上连接/运行MySQL吗?(或者你在Windows中使用的任何工具?)MySQL是否设置为自动启动,还是必须手动启动它(据我所记,这在Win上是某种选项)?这里列出了一些检查基本功能是否正常的步骤。 - thorsten müller
你正在运行mysql的哪个端口?当你在命令行中执行mysql --help时,输出是什么? - Leo Correa
是的,我可以。mysqld.exe正在作为一个进程运行,而mysql作为一个服务在运行。 - jro987
@Leo Correa 这是默认端口3306。 - jro987
你能否尝试在yml文件中添加一个端口:3306的字段?这是mysql的默认端口。 - Leo Correa
显示剩余3条评论
3个回答

6

尝试将localhost替换为127.0.0.1(在workbench和yml中)


1
哇,就这样了。为什么 Ruby 不知道 'localhost' 是什么意思?我的意思是那很标准啊!Ruby 真是太蠢了。 - Chloe
不是 Ruby 的问题,这就是 MySQL 的工作方式。 - Diogo Eichert

0
你在相关的项目中是否已经运行了rake db:create命令?

0

我同意上面的观点...确保它可以与workbench或其他GUI工具一起使用,并且您可以使用database.yml文件中的信息进行连接。

如果不行...回来再告诉我们。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接