3

rake タスクを使用してリモート mysql データベースにアクセスしようとしています。ここに、アクティブなレコード接続ロジックを投稿しています

client = ActiveRecord::Base.establish_connection(
:host => "server_ip",
:port => 22,
:adapter  => "mysql2",
:pool => 5,
:database => "database_name",
:username => "username",
:password => "password"
)

これを使ってアクセスしています

client.connection.execute("SELECT * FROM users")

しかし、以下に示すようにエラーが発生するたびに

rake aborted!
Lost connection to MySQL server at 'reading initial communication packet', system error: 0

私が欠けているものはありますか?正しい方向を教えてください

4

1 に答える 1

1

以下を試してください。

MySQL がコンソールから同じ認証情報で接続していることを確認してください

irb/rails コンソールで接続していることを確認してください

そうでない場合は、言及した構成にポート番号を追加します。MySQL はそのポートで実行する必要があります。

MySQL でユーザー名と IP のアクセス権限を確認する

于 2013-12-27T13:14:59.337 に答える