Rails mysql无法使用密码连接

时间:2016-01-23 16:16:00

标签: mysql ruby-on-rails

我在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

它表示数据库已停止但应用程序仍在工作:)

有人能说出发生了什么吗?

1 个答案:

答案 0 :(得分:0)

好吧 - 如果数据库告诉你它停止了,你的应用程序仍在运行,我可以想到3个可能的原因。

  1. 数据库仍在运行,您已经被骗了

  2. 该应用不需要数据库来响应您提出的请求

  3. 该应用正在其他地方使用数据库。

  4. 我能想到的最明显的方式,看看config / database.yml,你可以看到你的应用程序连接到哪个数据库,以及用户名/密码。如果它不是您已停止的那个 - 那就是您的答案。

    如果是您已停止的那个,请尝试以下内容:

    netstat -an | grep -i mysql
    

    根据需要看到和一些ps -ef并杀死(我有点残忍)。

    否则,它实际上可能无法使用数据库来提供您想要的信息。如果信息在控制器和视图中被硬编码 - 它将为您提供服务。