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

只需在CentOS 5服务器/ apache / passenger上使用 mysql( mysql2 gem)设置一个新的rails 3.1.3应用程序……我已正确设置数据库和该数据库用户,并且已将登录和信息添加到我的数据库中. yml文件…我可以生成东西,并且rake db:migrate ok但是“我们很抱歉,但出了点问题.”消息正在浏览器中呈现,此消息显示在我的production.log文件中!

在2011-12-29 19:52:35 -0600开始获取xx.xxx.xx.xxx的“/”

MysqL2 :: Error(用户’root’@’localhost’拒绝访问(使用密码:NO)):

很奇怪,我没有使用“root”作为database.yml中的登录信息…有什么建议吗?

development:
  adapter: MysqL2
  encoding: utf8
  reconnect: false
  database: the_db_I_made
  pool: 5
  username: the_user_I_made
  password: the_password
  socket: /var/lib/MysqL/MysqL.sock

production:
  adapter: MysqL2
  encoding: utf8
  reconnect: false
  database: the_db_I_made
  pool: 5
  username: the_user_I_made
  password: the_password
  socket: /var/lib/MysqL/MysqL.sock

解决方法

一堆问题/建议:

>您可以使用终端连接到数据库吗?

MysqL -u root -p

>另外,你有没有在开发模式下尝试过这个?如果是,请分享结果.
>尝试删除

socket: /var/lib/MysqL/MysqL.sock

>宝石安装是否正确?

gem check MysqL2

编辑:

开发和生产模式有很多不同(包括但不限于环境变量,如数据库连接字符串,资产预编译,不同级别的日志记录,错误页面上的自定义调试信息)

**尴尬!! **

您尚未在配置中包含“host”属性

试试这个:

production:
  adapter: MysqL2
  encoding: utf8
  reconnect: false
  host: your_host #<----- normally localhost
  database: the_db_I_made
  pool: 5
  username: the_user_I_made
  password: the_password
  socket: /var/lib/MysqL/MysqL.sock

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...