用户'root'@'localhost'拒绝访问(使用密码:YES)有时工作rails

时间:2011-11-17 16:41:16

标签: mysql ruby-on-rails ruby ruby-on-rails-3 mysqldump

我有一些与mysql2一起运行的项目版本。我的桌面上有一个版本,工作正常。但是我把它上传到svn上,这也有效。在我的一位同事添加了一些css文件后,它现在停止了工作。它给出了上述错误。以前我遇到密码等问题,这给我解决了同样的错误。现在我桌面上的版本可以正常工作,但源控制版本无法正常工作。知道我应该在哪里检查任何问题?我还在项目文件夹中添加了一个mysql转储文件。

1 个答案:

答案 0 :(得分:3)

问题是您尝试用来连接服务器的密码是错误的,或者您尝试使用密码连接到没有密码的帐户(鉴于它是root帐户,我真诚地希望不是)。检查database.yaml文件以验证是否使用了正确的密码。检查您编写的任何迁移。

此外,您应该从不使用root帐户从应用程序连接到您的服务器。创建具有有限权限的用户并使用该帐户。例如:

GRANT ALL PRIVILEGES ON mydb.* TO myapp@localhost IDENTIFIED BY 'mypass';

理想情况下,您只会授予使用数据库所需的权限,但通常只授予一个数据库的所有权限。关键是受损的应用程序只能对一个特定的数据库而不是服务器上的任何数据库造成损害。