Mysql2 ::错误访问被拒绝用户'root'@'localhost'(使用密码:NO)ruby on rails

时间:2015-03-06 15:23:04

标签: mysql ruby-on-rails ruby ruby-on-rails-4 mysql2

我在Ubuntu上成功安装了Ruby on Rails 4.2并使用MySQL作为我的数据库,但是当我想看到我在浏览器上使用localhost创建的新应用程序时:3000

我收到此错误消息:

Mysql2::Error
Access denied for user 'root'@'localhost' (using password: NO)

Extracted source (around line #70):


        socket = socket.to_s unless socket.nil?

70      connect user, pass, host, port, database, socket, flags
      end

      def self.default_query_options

有任何帮助吗?

1 个答案:

答案 0 :(得分:0)

我在Mac OS 10.9上安装了Ruby 2.2,ROR 4.2.0,mysql server 5.6,并测试了我的第一个ROR应用程序。 Rails App使用sqlite3数据库作为默认值,我这次尝试使用mysql。

这是我的步骤:

  1. 使用CLI: rails new my_app -d mysql
  2. 转到my_app目录并通过CLI启动rails服务器: rails s
  3. 使用http://localhost:3000
  4. 访问地址
  5. 然后,得到了与你相同的问题:一个Mysql2错误。 只需尝试检查文件: my_app / config / database.yml

    解决方案:为root用户提供密码值。 (应与之前配置的mysql保持一致)。

  6. 重启rails服务器。
  7. 然后,另一个Mysql2错误说:未知数据库XXX

    解决方案:因为ROR找不到数据库XXX。转到my_app目录并使用CLI创建数据库: rake db:create

  8. 重新启动rails服务器并访问http://localhost:3000。 OK!