我在Rails 4.0.0和ruby 1.9.3 gem中安装了一些旧的app。一切顺利,但当我去rails控制台并尝试例如写道:用户,获取数据库表它给我错误:
Mysql2::Error: Access denied for user 'root'@'localhost' (using password: YES)
有趣的是,当我这样做时:
sudo /etc/init.d/mysql stop
它表示数据库已停止但应用程序仍在工作:)
有人能说出发生了什么吗?
答案 0 :(得分:0)
好吧 - 如果数据库告诉你它停止了,你的应用程序仍在运行,我可以想到3个可能的原因。
数据库仍在运行,您已经被骗了
该应用不需要数据库来响应您提出的请求
该应用正在其他地方使用数据库。
我能想到的最明显的方式,看看config / database.yml,你可以看到你的应用程序连接到哪个数据库,以及用户名/密码。如果它不是您已停止的那个 - 那就是您的答案。
如果是您已停止的那个,请尝试以下内容:
netstat -an | grep -i mysql
根据需要看到和一些ps -ef并杀死(我有点残忍)。
否则,它实际上可能无法使用数据库来提供您想要的信息。如果信息在控制器和视图中被硬编码 - 它将为您提供服务。