我很难让Ruby连接到mySQL。我可以使用mySQL工作台来连接MYSQL,所以这很好。 这是我在尝试运行DBConsole时遇到的错误。
W:\testMySQL>rails dbconsole
Enter password: ********
ERROR 1045 (28000): Access denied for user 'coffeetowndev'@'localhost' (using pa
ssword: YES)
我在GoDaddy帐户上的数据库上运行,因此我无法向该用户授予所有权限。我打电话给godaddy,他们发誓他们的'RoR'部门能够使用我的设置进行连接。 说到这里,这是database.yml文件。
development:
adapter: mysql
encoding: utf8
reconnect: false
port: 3306
database: coffeetowndev
pool: 5
username: coffeetowndev
password: ********
hostname: coffeetowndev.db.5850247.hostedresource.com
在相关/不相关的说明中,我无法安装mySQL2 gem,所以我使用的是mySQL。
编辑:整个database.yml文件
development:
adapter: mysql
encoding: utf8
reconnect: false
port: 3306
database: coffeetowndev
pool: 5
username: coffeetowndev
password: ********
hostname: coffeetowndev.db.5850247.hostedresource.com
test:
adapter: mysql
encoding: utf8
reconnect: false
port: 3306
database: coffeetowntest
pool: 5
username: coffeetowntest
password: ********
hostname: coffeetowntest.db.5850247.hostedresource.com
production:
adapter: mysql
encoding: utf8
reconnect: false
port: 3306
database: coffeetown
pool: 5
username: coffeetown
password: ********
hostname: coffeetown.db.5850247.hostedresource.com
答案 0 :(得分:0)
您的SQL服务器上是否安装了PHPMyAdmin?通常,每当我创建新用户时,我都将通过PHPMyAdmin并在我正在使用RoR的数据库上设置具有Grant访问权限的用户。你的database.yml看起来很好,问题出在SQL端。
答案 1 :(得分:0)
在部署到godaddy而不是开发者时,是否正在使用生产设置?我没有使用godaddy来托管Rails应用程序的经验,但是他们可能将所有托管应用程序配置为默认生产环境(许多rails主机都可以)。因此,如果它使用不同的环境,它可能没有使用您期望的用户名/密码组合。
您可能还想尝试通过编写快速而脏的PHP测试脚本来测试您的凭据,如下所示:
$con = mysql_connect("coffeetowndev.db.5850247.hostedresource.com","coffeetowndev","******");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($con);
此外,它上面说它失败了,但它正在尝试使用用户'coffeetowndev'@'localhost'
。您必须确保使用以下某种方式向该用户授予权限:
grant select,insert,update,delete on coffeetowndev.* to 'coffeetowndev'@'localhost' identified by ********