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 クラスターを構築する方法の例

推薦する

Docker環境にJenkinsコンテナをインストールする詳細なチュートリアル

推奨される Docker 学習教材: https://www.runoob.com/docker/d...

HTML で dl(dt,dd)、ul(li)、ol(li) を使用する方法

HTML <dl> タグ#定義と使用法<dl> タグは定義リストを定義します...

Apache ソースコードのインストールと仮想ホストの設定に関する詳細なチュートリアル

ソースからApacheをインストールする1. Apacheソースコードをアップロードして必要なソフト...

IE6、IE7、IE8 で CSS3 の丸い角と影のスタイルをサポートする

CSS3 の角丸や影の効果を使ったページを作りたいのですが、IE ブラウザでは対応していません。こ...

JS関数の継承について学ぶ記事

目次1. はじめに: 2. プロトタイプチェーン継承: 3. コンストラクタ継承の借用(オブジェクト...

Mysql テーブルコメントフィールド取得操作

余計なことは言わないで、コードだけ見てみましょう〜 -- テーブル内のフィールドコメントを表示および...

CSS3 で背景の透明化と不透明テキストを実装するサンプルコード

最近、画像上に半透明の背景でテキストを表示する必要があるという要件に遭遇しました。その効果は次のよう...

MYSQL の binlog 最適化に関する考察の要約

質問質問 1: トランザクションをコミットするときに REDO ログをフラッシュすることによって発生...

MySQLサービスを開くおよび閉じる2つの方法

方法1: cmdコマンドを使用するまず、DOS ウィンドウを開き、スタート、実行、cmd と入力しま...

JavaScript カウントダウン プロンプト ボックス

この記事の例では、カウントダウンプロンプトボックスを実装するためのJavaScriptの具体的なコー...

vue-admin-template 動的ルーティング実装例

ログインを提供し、ユーザー情報データインターフェースを取得するapi/user.js内 '@...

マークアップ言語 - リスト

標準化されたデザインソリューション - マークアップ言語とスタイルマニュアルWeb 標準ソリューショ...

Angularフレームワークのビュー抽象定義の詳細な説明

序文「大規模なフロントエンド プロジェクト向け」に設計されたフロントエンド フレームワークである A...

Dockerコンテナ間の通信を実装する方法

シナリオ: laradock 開発環境 (php7.3+mysql5.7) がローカルに構築されてい...