首頁 >資料庫 >mysql教程 >如何在 PHP 中透過 SSH 隧道安全連接到 MySQL 資料庫?

如何在 PHP 中透過 SSH 隧道安全連接到 MySQL 資料庫?

Patricia Arquette
Patricia Arquette原創
2024-11-29 00:52:11771瀏覽

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 為字串,給定資源」表示函數參數不符。確保第五個參數(應該是隧道資源)是包含資源連接詳細資訊的字串,而不是資源本身。

以上是如何在 PHP 中透過 SSH 隧道安全連接到 MySQL 資料庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn