0

MySQLデータベースにリモートでアクセスしようとして問題が発生しました。ローカルまたはLAN経由でのアクセスは正常に機能しますが、インターネット経由で試行すると、次のエラーが発生します。

ホスト「192.168.1.1」はこのMySQLサーバーへの接続を許可されていません

私はこれらすべてを行いました:

  • ファイアウォールを無効にする
  • ローカルクライアントに特権を付与します:GRANT ALL ON *.* TO root@'%' IDENTIFIED BY 'root';

次に、接続しようとすると:

mysql -h190.XXX.XXX.XXX -uroot -proot

パブリックIP(190.XXX.XXX.XXX)を介して接続しようとしましたが、エラーはルーターのローカルIPを示しています(ルーターはポート3306をサーバーホストに転送するように構成されています)。

4

1 に答える 1

2

考えられる原因はたくさんあります。

_ my.cnfの最初:

#skip-networking # should be disabled
bind-address = 0.0.0.0  #make sure it is not bound to localhost

_次に、ファイアウォールがなく、/ etc / hosts.allow(またはAmazonポリシーエディターなどの使用しているもの)でポートを開く必要がないことを確認します。

_また、許可には許可オプションが必要です(リモートアクセスにはroot以外のものを使用します):

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'pass' WITH
GRANT OPTION;

_次に、特権をフラッシュすることを確認してください(付与後):

 flush privileges;
于 2013-03-27T02:53:49.237 に答える