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

2024-03-10

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

于 2011-12-29 19:52:35 -0600 开始 GET "/" for xx.xxx.xx.xxx

Mysql2::错误(用户'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

一堆问题/建议:

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

    mysql -u root -p
    
  2. 另外,您在开发模式下尝试过吗?如果是这样,请分享结果。

  3. 尝试删除

    socket: /var/lib/mysql/mysql.sock
    
  4. gem安装是否正确?

    gem check mysql2
    

EDIT:

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

** 尴尬!!**

您尚未在配置中包含“主机”属性!

尝试这个:

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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mysql2::错误(用户'root'@'localhost'访问被拒绝(使用密码:NO)): 的相关文章

随机推荐