つまり、WebサーバーにMySQLがありますが、セキュリティ上の理由から、デフォルトではローカルポートにのみ開かれています。 MySQLクエリブラウザなどのクライアントツールからデータベースにアクセスする場合、通常はローカルIPアドレスからアクセスを開く必要がありますが、それはそれほど安全ではありません。
代わりに、SSHトンネルを介したポート転送を使用するため、MySQLクライアントはローカルホストマシンに接続していると見なしますが、実際にはトンネルを介して他のサーバーに接続しています。
コマンドラインsshを使用している場合、コマンドは次のようになります。 (必要に応じて、PuttyまたはSecureCRTオプションで同じことをグラフィカルに行うことができます)
ssh -L 3306:localhost:3306 [email protected]
構文は、ssh -L <localport> hostname <remoteport> <username> @ <servername>です。 sshを介してリモートmysqlサーバーに直接アクセスしているため、ホスト名としてlocalhostを使用しています。この手法を使用して、あるsshサーバーを介して別のサーバーにポート転送することもできます。
ローカルマシンですでにmysqlを実行している場合は、ポート転送に別のローカルポートを使用し、別のポートでMySQLにアクセスするようにクライアントツールを設定するだけです。
sshトンネルを開始したら、MySQLクエリブラウザを開いて、ローカルホストをサーバーホストとして使用してリモートサーバーの詳細を入力し、使用したポートに調整できます。
この方法に慣れると、なぜphpmyadminまたはコマンドラインバージョンを使用したのか不思議に思うでしょう。