目次
PHP で SSH 経由で MySQL に接続する
背景: データベース接続のための SSH トンネリング
SSH トンネル構成
経由の MySQL 接続トンネル
トラブルシューティング: パラメータの解決不一致
ホームページ データベース mysql チュートリアル PHP で SSH トンネル経由で MySQL データベースに安全に接続する方法

PHP で SSH トンネル経由で MySQL データベースに安全に接続する方法

Nov 29, 2024 am 12:52 AM

How to Securely Connect to a MySQL Database via SSH Tunnel in PHP?

PHP で SSH 経由で MySQL に接続する

背景: データベース接続のための SSH トンネリング

SSH 経由でリモート データベースに接続すると、安全かつ効率的な接続が可能になります。データアクセスの手段。 SSH は、MySQL クエリが送信される暗号化チャネルとして機能し、機密情報を傍受から保護します。

SSH トンネル構成

SSH トンネルを確立するには、-L スイッチを指定して ssh コマンドを使用します。ローカルポート転送を指定します。このスイッチは、指定されたローカル ポートからのトラフィックを、SSH 経由でデータベース サーバーのリモート IP アドレスとポートにリダイレクトします。

たとえば、次のコマンドは、ローカル ポート 3307 から 10.3.1.55 のデータベース サーバーへのトンネルを設定します。 3306 ssh-jumpbox.com の SSH プロキシ経由:

ssh -fNg -L 3307:10.3.1.55:3306 [email protected] 
ログイン後にコピー

経由の MySQL 接続トンネル

トンネルが確立されたので、ローカル ポート経由でデータベースに接続するように PHP アプリケーションを構成します。これには、以下の例に示すように、MySQL 接続関数のホスト パラメータとして「127.0.0.1:3307」を指定することが含まれます。

$smysql = mysql_connect("127.0.0.1:3307", "dbuser", "passphrase");
ログイン後にコピー

この接続文字列は、MySQL がローカル ポート 3307 を使用するようにポイントします。 SSH トンネル経由でデータベース サーバーに転送されます。

トラブルシューティング: パラメータの解決不一致

mysqli_connect 使用時のエラー「mysqli_connect() はパラメーター 6 が文字列であることを期待し、リソースが指定されています」は、関数パラメーターの不一致を示します。 5 番目のパラメーター (トンネル リソースである必要があります) が、リソース自体ではなく、リソース接続の詳細を含む文字列であることを確認してください。

以上がPHP で SSH トンネル経由で MySQL データベースに安全に接続する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

DockerでのMySQLメモリの使用を減らします DockerでのMySQLメモリの使用を減らします Mar 04, 2025 pm 03:52 PM

DockerでのMySQLメモリの使用を減らします

Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか? Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか? Mar 19, 2025 pm 03:51 PM

Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか?

mysqlの問題を解決する方法共有ライブラリを開くことができません mysqlの問題を解決する方法共有ライブラリを開くことができません Mar 04, 2025 pm 04:01 PM

mysqlの問題を解決する方法共有ライブラリを開くことができません

Linuxでmysqlを実行します(phpmyAdminを使用してポッドマンコンテナを使用して/なし) Linuxでmysqlを実行します(phpmyAdminを使用してポッドマンコンテナを使用して/なし) Mar 04, 2025 pm 03:54 PM

Linuxでmysqlを実行します(phpmyAdminを使用してポッドマンコンテナを使用して/なし)

sqliteとは何ですか?包括的な概要 sqliteとは何ですか?包括的な概要 Mar 04, 2025 pm 03:55 PM

sqliteとは何ですか?包括的な概要

MACOSで複数のMySQLバージョンを実行する:ステップバイステップガイド MACOSで複数のMySQLバージョンを実行する:ステップバイステップガイド Mar 04, 2025 pm 03:49 PM

MACOSで複数のMySQLバージョンを実行する:ステップバイステップガイド

MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか? MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか? Mar 18, 2025 pm 12:01 PM

MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか?

人気のあるMySQL GUIツール(MySQL Workbench、PhpMyAdminなど)は何ですか? 人気のあるMySQL GUIツール(MySQL Workbench、PhpMyAdminなど)は何ですか? Mar 21, 2025 pm 06:28 PM

人気のあるMySQL GUIツール(MySQL Workbench、PhpMyAdminなど)は何ですか?

See all articles