web-dev-qa-db-ja.com

Mysqlターゲットマシンがアクティブに拒否したため、接続を確立できませんでした

すでに多くの人がこれを尋ねていることは知っていますが、この人はほとんどファイアウォールによってブロックされたパスワードを忘れており、私にはこのような状況はありません。

私はphpで開発しており、すべてのチームが作業できるようにリモートデータベースに接続する必要があります。

ローカルホストはうまくいっていましたが、切り替えようとするとこのエラーが発生しました

ターゲットマシンが積極的に拒否したため、接続できませんでした。

これは、.nf.bizデータベースに接続したい私のコードです:

$db=mysqli_connect($Host,$user,$password,$db_name,3306);
7
BishoyM

まあこれは遅いかもしれませんが、将来の訪問者のために、

当時、biz.nfは、外部ソースからのDBへの接続を拒否していることがわかりました。つまり、Webのみ- biz.nfでホストされているアプリは、拒否される以外のDBにアクセスできます。

1
BishoyM

MySQLサーバーは、* nixソケット(Ubuntuを実行している場合は/var/run/mysqld/mysqld.sock)またはローカルホストでのみ接続を受け入れます。

My.cnf(Ubuntuでは再び/etc/mysql/my.cnfにあります)を編集し、以下を変更する必要があります。

bind-address = 0.0.0.0

そして、以下をコメントアウトします

#skip-networking

最後にMySQLを再起動します。

MySQLマシンがパブリックインターネットからアクセス可能である場合は、すべての人からの接続を受け入れることに注意してください。

12

これが当てはまらない場合でも、このバグのメッセージは同じであるため、ここに回答を追加します。

C:\ Windows\System32\Drivers\etc\hostsにlocalhostのエイリアスがある場合、MySQLサーバーにバグがあり、MySQLサーバーはlocalhostへの接続を受け入れることができません。

エイリアスを削除すると、MySQLサーバーはローカルホストへの接続の受け入れを開始します。

4
Tomas Kubes

I しない#skip-networkingオプションがあります。

バインドアドレス行をハッシュ化することで解決しました(以下の3行目を参照)。

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.**
#bind-address       = 127.0.0.1
2
Randy Alien

次のようにbind-addressにポートを追加するだけで解決しました:127.0.0.1:3388

2
user2839515

このエラーは、データベースが応答していないときに発生します。

次の手順でこのエラーを解決します。

  1. Ctrl + Rキーを押してから、service.mscと入力します。ウィンドウが開きます。
  2. MYSQL56 OR MYSQL57を確認し、それをクリックします。
  3. 今すぐウィンドウの左下隅にあります。展開をクリックします。
  4. 再度ウィンドウを更新すると、サービス開始オプションが表示されます。
  5. それをクリックすると、エラーが解決します。

これは私にとってはうまくいきます。エラーも解決されることを願っています。私にメールしてください:[email protected]

0
rkkp1023

Windows 10でWamp(php7)を使用しています...現在動作していますが、突然そのエラーが表示されました。ラップトップを再起動しましたが、エラーはなくなりました...

0
Rodrigo Lugod

My.cnfのbind-addressをサーバーのpublic IPアドレスに設定することで、これを修正しました。

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address            = SERVER_IP_ADDRESS
0
user2694130