只需在 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
一堆问题/建议:
-
您可以使用终端连接到数据库吗?
mysql -u root -p
另外,您在开发模式下尝试过吗?如果是这样,请分享结果。
-
尝试删除
socket: /var/lib/mysql/mysql.sock
-
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(使用前将#替换为@)