0

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
4

2 に答える 2

0

Godaddy にデプロイするときに、開発用の設定ではなく、運用用の設定を使用していますか? 私は Rails アプリをホストするために Godaddy を使用した経験はありませんが、ホストされているすべてのアプリケーションをデフォルトで本番環境に設定する可能性があります (多くの 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);

また、上記では失敗していますが、 user を使用しようとしています'coffeetowndev'@'localhost'。次のようなものを使用して、そのユーザーにアクセス許可を付与したことを確認する必要があります。

grant select,insert,update,delete on coffeetowndev.* to 'coffeetowndev'@'localhost' identified by ********
于 2011-05-09T03:41:14.347 に答える
0

SQL サーバーに PHPMyAdmin がインストールされていますか? 通常、新しいユーザーを作成するときはいつでも、PHPMyAdmin を使用して、RoR で作業しているデータベースへのアクセスを許可してユーザーを設定します。database.yml は正常に見えますが、問題は SQL 側にあります。

于 2011-05-09T03:38:48.663 に答える