我在 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
有什么帮助吗?
我在Mac OS 10.9上安装了Ruby 2.2,ROR 4.2.0,mysql server 5.6,并测试了我的第一个ROR应用程序。Rails App默认使用sqlite3数据库,这次我尝试使用mysql。
这是我的步骤:
- 使用 CLI: rails new my_app -d mysql。
- 转到my_app目录并通过 CLI 启动 rails 服务器:rails s。
- 访问 http://localhost:3000 地址
-
然后,得到了与您相同的问题:Mysql2错误。只需尝试检查文件:my_app/config/database.yml
解决方案:为根用户提供密码值。(应该与之前配置的 MySQL 保持一致)。
- 重新启动轨道服务器。
-
然后,收到另一个Mysql2错误说:未知数据库XXX。
解决方案:因为 ROR 找不到数据库 XXX。转到my_app目录并使用 CLI 创建数据库:rake db:create。
-
重新启动 rails 服务器并访问 http://localhost:3000。还行!