0

Nginx + Passenger+Rails3があります。

乗客は次のエラーをスローします。

Can't connect to MySQL server on '184.169.131.xxx' (111) (Mysql2::Error)

mysqlコマンドを使用してMySqlに接続できます。Passengerを実行しているユーザーには権限がないと思います。

知りたいのは、どのユーザーがパッセンジャーを実行しているかを判別する方法と、mysqlにアクセスするためのアクセス許可を与える方法です。

ありがとう

4

1 に答える 1

1

接続できない場合は、次のいずれかである可能性があります。

  • MySQLプロセスはリモートマシンにバインドされて127.0.0.1おり、リモートマシンからの接続を受け入れることができません。
  • ファイアウォールがポート3306をブロックしています。

mysql同じリモートに接続していることを確認しますか?代わりに、デフォルト構成でアクセスできるローカルサーバーを実行している可能性があります。

注意として、一般的なインターネットに3306を公開することは悪い考えであるため、これを行う方法を非常に選択する必要があります。ベストプラクティスは、10.xxx、172.16.xx、192.168.xxなどの可能な限りプライベートIPを使用することです。安全に使用できる予約済みブロックは多数ありますが、これらをローカルネットワークの外部にルーティングすることはできません。

config/database.ymlまた、定義した設定がmysqlコマンドラインツールで使用しているものと同じであることを確認する必要があります。乗客は特別な場合として扱われません。

于 2012-12-21T18:21:03.840 に答える