リモートサーバーが、現在LinuxサーバーをWebアプリと共有しているMySQLインスタンスにアクセスできるようにしようとしています。 ドキュメント によると、これが可能になる唯一の方法(私が正しく理解していない場合を除く)は、bind-addressディレクティブが0.0.0.0。これにより、MySQLは有効なユーザーを生成できる任意のIPからのアクセスを許可します。
したがって、2つの質問:
bind-address設定を少し誤解していると思います。これらは、MySQLが接続を待機するローカルアドレスです。デフォルトは0.0.0.0で、すべてのインターフェイスです。 localhostのみに127.0.0.1を指定しない限り、この設定はサーバーにアクセスできるIPを制限しません。
特定のユーザーを制限する必要がある場合from特定のIPアドレス、このようなcreate/grant userを利用しますCREATE USER 'bobdole'@'192.168.10.221';
a。悪いです。各データベースでIPによるユーザーアクセスを制限することはできますが、すべての接続をローカルで行う方が安全だと思います。私のサーバーでは、MySQLにローカル接続のみを許可します。デフォルトの構成は127.0.0.1です。データベースにリモートでアクセスするには、データベースに接続する前にsshトンネルを作成し、ローカルに接続するだけです。 PHPでコーディングしている場合は、これを行うのはかなり簡単です。デスクトップアプリケーションをLinuxで簡単に実行できる場合(sshトンネルを検索)、Windowsでは通常、PuTTYなどのプログラムを使用してトンネルを作成します。