SSHトンネルを使用してMySQLサーバーに接続する方法

SSHトンネルを使用してMySQLサーバーに接続する方法

序文

場合によっては、データベースのイントラネット アドレスしか知らず、イントラネット経由で接続できないことがありますが、同じイントラネット内の他のマシンにログインでき、これらのマシンがイントラネット内のデータベースにアクセスできるため、ssh トンネル方式でデータベースにアクセスできます。

使用法

ssh トンネルの使い方は非常に簡単で、具体的な形式は次のとおりです。

ssh -L [ローカルポート]:[リモートホスト]:[リモートポート] [ユーザー名]@[リモートホスト]

-Lメソッドを使用して、ローカル ポートへのアクセスを ssh トンネル経由でリモート ホストのポートに転送します。実際の使用では、-f および -N パラメータを追加して、コマンドを実行せずに ssh コマンドをバックグラウンドで動作させることもできます。

練習する

MySQL サーバーのイントラネット IP が 10.86.22.22 で、ポート 3306 で有効になっているとします。MySQL と同じイントラネット内の別のサーバーの外部 IP は 121.43.23.12 です。

まずローカルで実行します:

$ ssh -f -N -L 12345:121.43.23.12:3306 ルート@121.43.23.12

次にローカルで実行します:

$ mysql -u ルート -P 12345 -h 127.0.0.1 -p

パスワードを入力すると、MySQLにログインできます。

実行が完了したら、ps を使用して、確立されたばかりの sshd 接続を見つけ、それを強制終了して、確立されたばかりの ssh トンネルを閉じることができます。

要約する

上記がこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に少しでもお役に立てれば幸いです。ご質問があれば、メッセージを残してコミュニケーションを取ることができます。

以下もご興味があるかもしれません:
  • IDEA で MySQL にリンクするとエラー 08001 が発生し、接続に成功した後にテーブルが表示されない問題と解決策
  • MySQLにNavicatをインストールした後、2059が表示され、認証プラグインとローカルリンク仮想マシンdocker、リモートリンクサーバー
  • Python pymysql リンク データベース クエリ結果を Dataframe インスタンスに変換
  • MySQL マルチテーブルクエリ例の詳しい解説 [リンククエリ、サブクエリなど]
  • 操作例 MySQL ショートリンク
  • MySql 8.0.11 のインストール プロセスと Navicat とのリンク時に発生する問題の概要
  • MySQLグループリンクの使用に関する詳細な説明
  • MySqlは、外部ネットワーク接続クライアントの低速問題を解決するためにskip-name-resolveを使用します。
  • MySQL リンクを表示し、異常なリンクを削除する方法

<<:  Vue 3 カスタムディレクティブ開発の概要

>>:  Docker で MySQL クラスターを構築する方法の例

推薦する

JS での new の手書き実装

目次1 新しいオペレータの紹介2 新しいものは何をしましたか? 3 新しい演算子の実装をシミュレート...

MySQL を使用した分散ロックの実装

導入分散システムでは、分散ロックは最も基本的なツール クラスです。たとえば、支払い機能を備えた 2 ...

証明書を使用してリモート Docker サーバーに接続する方法

目次1. スクリプトを使用してDockerのTLSを暗号化する2. Dockerの設定を変更してリモ...

HTMLとCSSを使用して、自分だけの暖かい男「Dabai」を作成します

最終結果はこんな感じです、かわいいでしょう… PS: HTML と CSS の知識があればベストです...

Firefoxでリンクをクリックしたときに点線の枠線を削除する方法

今日、ブラウザの互換性の問題にいくつか遭遇しました。そのうちの 1 つは奇妙に感じました。Firef...

Vue のループフォーム項目例の詳細な説明

場合によっては、ユーザーがボタンをクリックして同様のフォームを追加し、クリックごとに 1 回追加でき...

jsはショッピングサイトの虫眼鏡機能を実現します

この記事では、ショッピングサイトの虫眼鏡機能を実現するためのjsの具体的なコードを紹介します。具体的...

formData 形式タイプを使用してファイルをアップロードする Vue の例

Vue では、一般的にフロントエンドとバックエンドを分離したプロジェクトがあり、データ操作を実装する...

MySQL可視化ツールNavicatへの接続方法

Navicatをインストールした後次のエラーが発生する場合があります: Client does no...

反応ループデータの実装(リスト)

まず、バックグラウンドから来るデータをシミュレートしてみましょう。ここでは、コードをわかりやすくする...

MySQL ステートメントを使用した簡単な追加、削除、変更、クエリ操作の例

この記事では、例を使用して、MySQL ステートメントを使用して、単純な追加、削除、変更、およびクエ...

MySQL インデックスが失敗するいくつかの状況の概要

1. インデックスはnull値を保存しないより正確に言うと、単一列インデックスには null 値は格...

XshellがvirtualBox仮想マシンに接続できない問題の解決策

まず、VirtualBox仮想マシンのネットワーク設定モードについて説明します。NAT+ホストオンリ...

MySQL における in と exists の使い方と違いの紹介

まずコードを書いて (int i=0;i<1000;i++){ (int j=0;j<5...

Vue3の組み込みコンポーネントであるTeleportの使い方を詳しく説明します

目次1. テレポートの使用2. モーダルダイアログコンポーネントを完成させる3. コンポーネントのレ...