Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyambung dengan Selamat ke Pangkalan Data MySQL Jauh melalui SSH Tunneling dalam PHP?

Bagaimana untuk Menyambung dengan Selamat ke Pangkalan Data MySQL Jauh melalui SSH Tunneling dalam PHP?

Barbara Streisand
Barbara Streisandasal
2024-11-27 11:37:10335semak imbas

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

Mewujudkan Sambungan MySQL Jauh Selamat melalui SSH dalam PHP

Dalam senario ini, kami menghadapi cabaran dalam mewujudkan sambungan ke pangkalan data MySQL jauh menggunakan SSH dan PHP. Ralat 'tidak dapat mengakses' berterusan walaupun memberikan kebenaran yang diperlukan.

Mengatasi Isu

Untuk menyelesaikan isu ini, kami menggunakan pendekatan terowong SSH. Ini melibatkan mewujudkan sambungan selamat ke pelayan pangkalan data melalui proksi SSH, biasanya pelayan Jumpbox. Persediaan ini menyediakan saluran yang disulitkan untuk pertukaran data, mengurangkan risiko keselamatan yang dikaitkan dengan pendedahan pelayan pangkalan data langsung.

Konfigurasi Terowong SSH

  1. Alat GUI: Pertimbangkan untuk menggunakan alatan antara muka pengguna grafik (GUI) seperti Visual Studio Code atau TablePlus yang menawarkan SSH terbina dalam sokongan terowong. Mereka memudahkan proses dan meningkatkan pengalaman pengguna.
  2. Barisan Perintah:

    a. Wujudkan terowong pemajuan port tempatan pada stesen kerja anda menggunakan suis '-L':

    ssh -fNg -L 3307:10.3.1.55:3306 [email protected] 

    Di mana:

    • 3307: Port tempatan untuk menerima sambungan
    • 10.3.1.55: Alamat IP pelayan pangkalan data MySQL jauh
    • 3306: Pangkalan data MySQL port pelayan

    b. Sambung ke pelayan pangkalan data melalui port tempatan:

    mysql -h 127.0.0.1 -P 3307 -u dbuser -p passphrase

    Di mana:

    • 127.0.0.1: Localhost (stesen kerja anda)
    • 3307: Port tempatan ditubuhkan dalam langkah a
  3. Sambungan PHP:

    Setelah terowong diwujudkan, sambung ke pangkalan data MySQL menggunakan PHP seperti berikut:

    <?php
       $smysql = mysql_connect("127.0.0.1:3307", "dbuser", "passphrase");
       mysql_select_db("db", $smysql);
    ?>

Tambahan Pertimbangan

  • Majukan trafik ke alamat dalaman pada rangkaian jauh anda untuk meningkatkan keselamatan.
  • Gunakan kunci peribadi untuk pengesahan dan bukannya kata laluan.

Atas ialah kandungan terperinci Bagaimana untuk Menyambung dengan Selamat ke Pangkalan Data MySQL Jauh melalui SSH Tunneling dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn