Heim > Datenbank > MySQL-Tutorial > Hauptteil

Ausführliche Erklärung, wie man über den SSH-Kanal auf MySQL zugreift

藏色散人
Freigeben: 2020-01-28 13:39:16
nach vorne
2353 Leute haben es durchsucht

Ausführliche Erklärung, wie man über den SSH-Kanal auf MySQL zugreift

Bei der Verwendung von MySQL werden Sie häufig auf die folgenden Situationen stoßen:

1. Die Informationen sind wichtig und Sie möchten, dass die Kommunikation verschlüsselt wird.

2. Einige Ports, z. B. Port 3306, sind vom Router deaktiviert.

Eine direktere Lösung für das erste Problem besteht darin, den MySQL-Code zu ändern oder einige Zertifikate zu verwenden, aber diese Methode ist offensichtlich nicht sehr einfach.

Empfohlene verwandte Lernvideo-Tutorials: MySQL-Video-Tutorial

Hier stellen wir eine andere Methode vor, nämlich die Verwendung des SSH-Kanals für die Verbindung mit Remote-MySQL. Die Methode ist recht einfach.

1. SSH-Kanal einrichten

Geben Sie einfach den folgenden Befehl lokal ein:

ssh -fNg -L 3307:127.0.0.1:3306 myuser@remotehost.com
The command tells ssh to log in to remotehost.com as myuser, go into the background (-f) and not execute any remote command (-N), and set up port-forwarding (-L localport:localhost:remoteport ). In this case, we forward port 3307 on localhost to port 3306 on remotehost.com.
Nach dem Login kopieren

2. Verbinden Sie sich mit Mysql

Jetzt können Sie lokal eine Verbindung zur Remote-Datenbank herstellen, genau wie beim Zugriff auf die lokale Datenbank.

mysql -h 127.0.0.1 -P 3307 -u dbuser -p db
The command tells the local MySQL client to connect to localhost port 3307 (which is forwarded via ssh to remotehost.com:3306). The exchange of data between client and server is now sent over the encrypted ssh connection.
Nach dem Login kopieren

Oder verwenden Sie Mysql Query Browser, um auf den 3307-Port des Clients zuzugreifen.

Verwenden Sie auf ähnliche Weise PHP, um auf Folgendes zuzugreifen:

<?php
$smysql = mysql_connect( "127.0.0.1:3307", "dbuser", "PASS" );
mysql_select_db( "db", $smysql );
?>
Making It A Daemon
A quick and dirty way to make sure the connection runs on startup and respawns on failure is to add it to /etc/inittab and have the init process (the, uh, kernel) keep it going.
Add the following to /etc/inittab on each client:
sm:345:respawn:/usr/bin/ssh -Ng -L 3307:127.0.0.1:3306 myuser@remotehost.com
And that should be all you need to do. Send init the HUP signal ( kill -HUP 1 ) to make it reload the configuration. To turn it off, comment out the line and HUP init again.
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonAusführliche Erklärung, wie man über den SSH-Kanal auf MySQL zugreift. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage