Rails アプリを実行しているので、MySQL にリモート接続しようとすると、次のエラーが発生します。
接続できませんでした:「初期通信パケットの読み取り中」に MySQL サーバーへの接続が失われました。システム エラー: 0
Rails アプリを実行しているので、MySQL にリモート接続しようとすると、次のエラーが発生します。
接続できませんでした:「初期通信パケットの読み取り中」に MySQL サーバーへの接続が失われました。システム エラー: 0
/etc/hosts.denyを確認することをお勧めします。
ALL: ALL: DENY
また
mysqld: ALL: DENY
あなたの敵です。
サーバーを再起動するとうまくいきました。設定変更は必要ありません。
そのホストからチェック
shell> telnet IP 3306
MySQL が稼働していて到達可能であれば、telnet 出力に mysql のバージョンが表示されます。それ以外の場合は、telnet が成功するまでファイアウォールなどを確認してください。
次に、最初にネイティブ mysql クライアントに接続して、Rails を問題のアリアから除外することをお勧めします。
リモート アクセスを有効にします。
デフォルトでは、MySQL サーバーは TCP ポート 3306 をリッスンしません。(リモート) TCP 接続を許可するには、 の次の行をコメント化します/etc/mysql/my.cnf
。
skip-networking
/etc/hosts.allow
次の行を追加して編集することを忘れないでください。
mysqld: ALL : ALLOW
mysqld-max: ALL : ALLOW
mysql 構成ファイルを編集する必要があります。デフォルトでbind-adress
は、に設定されてい127.0.0.1
ます。
開ける:/etc/mysql/my.cnf
bind-adress
自分をデータベース サーバーに接続するために使用する IP に変更します。
mysqld-max: ALL : ALLOW
私のために問題を解決しました。
皆さんの努力に感謝します、私は解決策を見つけました、私はMySQLへのリモート接続を設定することになっていましたここに同じエラーが発生した誰かのためのリンクがあります http://benrobb.com/2007/01/15/howto-remote- root-access-to-mysql /