使用 Rails 时出现 mysql 错误

发布于 2024-09-01 00:51:05 字数 3376 浏览 3 评论 0原文

我只是想在混合服务器上使用带有rails 的mysql。我将服务器设置得很好,并且可以运行不需要 mysql 的 Rails 应用程序,但是当我使用(例如)rails -d mysql blog 创建项目,然后创建一些简单的控制器(例如 ruby​​ script/generate Test),然后将此代码放入控制器...

class TestController < ApplicationController
 def index
  render :text => 'WORK'
 end
end

然后当我启动服务器并打开 localhost:3000/test 时,我收到以下错误:

=> Booting Mongrel  
=> Rails 2.3.5 application starting on http://0.0.0.0:3000  
=> Call with -d to detach  
=> Ctrl-C to shutdown server  
/!\ FAILSAFE /!\  Mon May 10 20:15:06 -0500 2010  
  Status: 500 Internal Server Error  
  Can't connect to MySQL server on 'localhost' (10061)  
    C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapter
s/mysql_adapter.rb:589:in 'real_connect'  
    C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapter
s/mysql_adapter.rb:589:in 'connect'  
    C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapter
s/mysql_adapter.rb:203:in 'initialize'  
    C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapter
s/mysql_adapter.rb:75:in 'new'  
    C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapter
s/mysql_adapter.rb:75:in 'mysql_connection'  
    C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapter
s/abstract/connection_pool.rb:223:in 'send'
    C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapter
s/abstract/connection_pool.rb:223:in 'new_connection'
    C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapter
s/abstract/connection_pool.rb:245:in 'checkout_new_connection'
    C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapter
s/abstract/connection_pool.rb:188:in 'checkout'
    C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapter
s/abstract/connection_pool.rb:184:in 'loop'
    C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapter
s/abstract/connection_pool.rb:184:in 'checkout' 
    C:/Ruby/lib/ruby/1.8/monitor.rb:242:in 'synchronize'
    C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapter
s/abstract/connection_pool.rb:183:in 'checkout'
    C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapter
s/abstract/connection_pool.rb:98:in 'connection'
    C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapter
s/abstract/connection_pool.rb:326:in 'retrieve_connection'
    C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapter
s/abstract/connection_specification.rb:123:in 'retrieve_connection'
    C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapter
s/abstract/connection_specification.rb:115:in 'connection'  
etc...

在浏览器中,我收到“我们很抱歉,但出了点问题”
有谁知道我做错了什么?

Database setup:  
development:  
  adapter: mysql  
  encoding: utf8  
  reconnect: false  
  database: blog_development  
  pool: 5  
  username: root  
  password:  
  host: localhost   

所以我不完全确定你要问的下一部分是什么,但是mysql位于

C:\wamp\bin\mysql\mysql5.1.36\bin

如果我错过了你需要的东西我抱歉 另外,数据库存在并且 un/pw 等是正确的

I am just trying to use mysql with rails with a mongrel server. I set up the server fine and can run rails applications that don't need mysql but when I create a project using (for example) rails -d mysql blog and then create some simple controller e.g. ruby script/generate Test then put this code in the controller...

class TestController < ApplicationController
 def index
  render :text => 'WORK'
 end
end

then when I start the server up and open up localhost:3000/test I get the following error:

=> Booting Mongrel  
=> Rails 2.3.5 application starting on http://0.0.0.0:3000  
=> Call with -d to detach  
=> Ctrl-C to shutdown server  
/!\ FAILSAFE /!\  Mon May 10 20:15:06 -0500 2010  
  Status: 500 Internal Server Error  
  Can't connect to MySQL server on 'localhost' (10061)  
    C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapter
s/mysql_adapter.rb:589:in 'real_connect'  
    C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapter
s/mysql_adapter.rb:589:in 'connect'  
    C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapter
s/mysql_adapter.rb:203:in 'initialize'  
    C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapter
s/mysql_adapter.rb:75:in 'new'  
    C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapter
s/mysql_adapter.rb:75:in 'mysql_connection'  
    C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapter
s/abstract/connection_pool.rb:223:in 'send'
    C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapter
s/abstract/connection_pool.rb:223:in 'new_connection'
    C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapter
s/abstract/connection_pool.rb:245:in 'checkout_new_connection'
    C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapter
s/abstract/connection_pool.rb:188:in 'checkout'
    C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapter
s/abstract/connection_pool.rb:184:in 'loop'
    C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapter
s/abstract/connection_pool.rb:184:in 'checkout' 
    C:/Ruby/lib/ruby/1.8/monitor.rb:242:in 'synchronize'
    C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapter
s/abstract/connection_pool.rb:183:in 'checkout'
    C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapter
s/abstract/connection_pool.rb:98:in 'connection'
    C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapter
s/abstract/connection_pool.rb:326:in 'retrieve_connection'
    C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapter
s/abstract/connection_specification.rb:123:in 'retrieve_connection'
    C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapter
s/abstract/connection_specification.rb:115:in 'connection'  
etc...

In the browser i get a 'We're sorry, but something went wrong'
Does anyone know what I am doing wrong?

Database setup:  
development:  
  adapter: mysql  
  encoding: utf8  
  reconnect: false  
  database: blog_development  
  pool: 5  
  username: root  
  password:  
  host: localhost   

So I'm not complpetely sure what the next part your asking is but mysql is located at

C:\wamp\bin\mysql\mysql5.1.36\bin

If I missed something you needed I apologize Also, the database exists and the un/pw and such is correct

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

北方。的韩爷 2024-09-08 00:51:05

正如之前的评论所说,请包含您的 config/database.yml,我们可以提供更多帮助。

在 config/database.yml 文件中,您将看到 Rails 如何连接到 MySQL 数据库的配置。

您将看到类似以下内容:

development:
  adapter: mysql
  host: localhost
  database: my_db
  username: my_user
  password: my_password
  port: 3306

确保您已

  • 创建指定数据库
  • 您使用的用户名有权连接到该数据库
  • 该用户的密码正确。

As a previous comment says, please include your config/database.yml and we can give more help.

In the config/database.yml file, you will see the configuration for how Rails is connecting to your MySQL database.

You will see something like:

development:
  adapter: mysql
  host: localhost
  database: my_db
  username: my_user
  password: my_password
  port: 3306

Make sure that you have

  • Created the named database
  • That the username that you are using has permission to connect to that database
  • That the password is correct for that user.
奶茶白久 2024-09-08 00:51:05

我的问题是我的计算机上有多个 mysql 服务器,并且我运行的服务器与我用于 ruby​​ 的服务器不同..大啊。不知道如何删除这个问题

My problem was that I had multiple mysql servers on my computer and I was running a different server than I used for ruby.. big doh. not sure how to delete this question

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文