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

use*_*023 5 ruby mysql ruby-on-rails mysql2 ruby-on-rails-4

我成功地在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
Run Code Online (Sandbox Code Playgroud)

有帮助吗?

sim*_*azz 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. 然后,得到了和你一样的问题:an Mysql2 Error。只需尝试检查文件:my_app/config/database.yml

    解决方案:将密码值赋予 root 用户。(与之前配置的mysql保持一致)。

  5. 重新启动 Rails 服务器。
  6. 然后,出现另一个 Mysql2 错误:未知数据库 XXX

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

  7. 重新启动rails服务器并访问http://localhost:3000。好的!