Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So stellen Sie eine Remote-Verbindung zu einer MySQL-Datenbank her, die sich auf unserem gemeinsam genutzten Server befindet

Aus Sicherheitsgründen Remote-MySQL-Verbindung ist auf unseren Shared Hosting-Servern deaktiviert. Sie können jedoch ganz einfach einen SSH-Tunnel zwischen Ihrem Computer und unserem Server einrichten, indem Sie einen SSH-Client verwenden mit der Weiterleitung von MySQL-Port 3306.

Danach haben Sie Port 5522 auf Ihrem lokalen Rechner, der den Localhost Ihres Remote-Servers auf Port 3306 abhört und an ihn weiterleitet. Jetzt können Sie sich effektiv mit dem Remote verbinden MySQL-Datenbank des Servers so, als würde sie auf Ihrem lokalen Rechner laufen.

HINWEIS :Wenn Sie versuchen, eine Verbindung zu PostgreSQL herzustellen Datenbanken verwenden Sie Port 5432 statt 3306.

Im Folgenden finden Sie die Schritte zum Konfigurieren eines Drittanbieter-SSH-Clients (PuTTY) und MacOS und Linux eingebaut (Terminal) .

HINWEIS :Stellen Sie sicher, dass der SSH-Zugang für Ihr Konto aktiviert ist. Fühlen Sie sich frei, dieser Anleitung zu folgen, um die Einstellungen zu überprüfen.

Hier ist eine Liste der Details, die Sie während des Vorgangs benötigen:

SSH-Verbindungsdetails :
  • Server-Hostname:server168.web-hosting.com
  • Port:21098
  • cPanel-Benutzername:tunneltest
  • cPanel-Passwort:cpanel_password


Ihr Server-Hostname wird für Ihr Konto unterschiedlich sein. Sie können es in Ihrer Willkommens-E-Mail für Ihren Hosting-Plan überprüfen.

Ihr cPanel-Benutzername und Ihr Passwort sind das, was Sie verwenden, um sich bei Ihrem cPanel-Konto anzumelden.

Der Port wird sein dasselbe für alle Shared Hosting-Server.

Serverseitige MySQL-Details :
  • Server-Hostname:127.0.0.1
  • Port:3306
  • Datenbankname:tunneltest_db
  • Datenbankbenutzer:tunneltest_user
  • Datenbankpasswort:db_user_password


Ihr Server-Hostname und -Port sind für alle Shared-Hosting-Server gleich.

Ihr Datenbankname, Ihr Benutzer und Ihr Passwort sind das, was Sie beim Erstellen der Datenbank angegeben haben das Menü MySQL-Datenbanken. Wenn Sie mit diesem Menü nicht vertraut sind, lesen Sie diesen Artikel.

Tunneldetails :
  • Lokale IP:127.0.0.1
  • Lokaler Port:5522
  • Remote-IP:127.0.0.1
  • Remote-Port:3306


Ihre lokale IP-Adresse und Ihr Port können nach Ihren Wünschen geändert werden.

Da einige unserer Kunden lokale MySQL-Server auf dem Port 3306 betreiben, verwenden wir den Port 5522 Port in diesem Beispiel, um sicherzustellen, dass der lokale Port von keinem Dienst verwendet wird.

Ihre Remote-IP-Adresse und Ihr Remote-Port sollten mit dem Hostnamen und Port des Servers aus den serverseitigen MySQL-Details und kann nicht geändert werden.

Clientseitige MySQL-Details :
  • Server-Hostname:127.0.0.1
  • Port:5522
  • Datenbankname:tunneltest_db
  • Datenbankbenutzer:tunneltest_user
  • Datenbankpasswort:bCsLHA5xs8AQ


Dies sind die Zugangsdaten, die Sie am Ende der App oder Website verwenden, die Sie versuchen, sich remote mit der Datenbank zu verbinden. Hostname und Port Ihres Servers sollten mit der lokalen IP und dem Port von übereinstimmen Tunneldetails .

Ihr Datenbankname, Ihr Benutzer und Ihr Passwort sollten mit den entsprechenden Werten aus den serverseitigen MySQL-Details übereinstimmen .



Mit PuTTY verbinden
Mit Terminal verbinden (für Linux und MacOS)



Mit PuTTY verbinden

1. Führen Sie die Anwendung aus.
2. Gehen Sie zur Verbindung Registerkarte der 'Daten ' und vergewissern Sie sich, dass der Benutzername für die automatische Anmeldung Feld leer ist (Sie können dort auch Ihren cPanel-Benutzernamen eingeben) und die 'Eingabeaufforderung ' Option ist aktiviert:



3. Gehen Sie zur Verbindung>> SSH>> Tunnel Abschnitt und geben Sie die unter Tunneldetails genannten Werte ein wie folgt:
Quellport =Lokaler Port
Ziel =RemoteIP:RemotePort

Stellen Sie sicher, dass die 'Local '-Modus aktiviert ist, und klicken Sie dann auf Hinzufügen :



Sobald Sie dies getan haben, sollten Sie den Tunnel im Feld sehen oben:



4. Gehen Sie zur Sitzung und geben Sie Hostname und Port ein, indem Sie den Hostnamen und Port des Servers aus Ihren SSH-Verbindungsdetails verwenden . Wählen Sie nun einen Namen für diese Voreinstellung und geben Sie ihn in das Feld Gespeicherte Sitzungen ein. Klicken Sie auf Speichern um diese Konfiguration zu speichern.



5. Klicken Sie nun auf Öffnen um eine Verbindung zum Server herzustellen.

HINWEIS :Da Sie Ihre Sitzungseinstellungen bereits gespeichert haben, können Sie die Schritte 1-4 überspringen, wenn Sie das nächste Mal einen SSH-Tunnel öffnen möchten.

Wählen Sie einfach die gespeicherte Voreinstellung aus der Liste aus und klicken Sie auf Laden und Öffnen um es zu benutzen.

6. Wenn Sie sich zum ersten Mal mit dem Server verbinden, wird eine Sicherheitswarnung angezeigt. Klicken Sie auf Akzeptieren um fortzufahren.



7. Sie werden nun aufgefordert, Ihren cPanel-Benutzernamen und Ihr Passwort einzugeben, die Sie in Ihren SSH-Verbindungsdetails finden .

HINWEIS :Symbole werden im Terminal nicht angezeigt, wenn Sie das Passwort eingeben. Auf diese Weise schützt Terminal Ihr Passwort.

Sobald das Passwort akzeptiert wurde, erscheint eine Server-Eingabeaufforderung. Der SSH-Tunnel ist nun aufgebaut und alle Verbindungen zu localhost über den Port 5522 werden an Ihren Hosting-Account weitergeleitet.



HINWEIS :Der SSH-Tunnel funktioniert, solange dieses Fenster aktiv ist. Schließen Sie dieses Fenster NICHT, bis Sie mit der Arbeit an der Datenbank fertig sind.

Wir können jetzt eine Verbindung zu einer Datenbank auf dem Shared Hosting-Server herstellen, indem wir die clientseitigen MySQL-Details verwenden mit jedem MySQL-Client. Zum Beispiel:






Mit Terminal verbinden (für Linux und MacOS )


1. Führen Sie die Anwendung aus und geben Sie den folgenden Befehl ein:

ssh -f [email protected] -p21098 -L 5522:127.0.0.1:3306 -N

"[email protected] -p21098" wird mit SSH-Verbindungsdetails gefüllt :
[cpanel-Konto]@[Server-Hostname] -p[Port]

"-L 5522:127.0.0.1:3306" wird mit Tunneldetails gefüllt :
[Lokaler Port]:[Remote-IP]:[Remote-Port]

Die lokale IP-Adresse wird in diesem Fall nicht angegeben und ist standardmäßig 127.0.0.1

2. Drücken Sie die Eingabetaste und geben Sie Ihr cPanel-Passwort ein (Symbole werden im Terminal nicht angezeigt, wenn Sie das Passwort eingeben - es ist die Methode des Terminals, Ihr Passwort sicher aufzubewahren).

Wenn Sie sich zum ersten Mal damit verbinden Server, wird die folgende Eingabeaufforderung angezeigt:Sind Sie sicher, dass Sie die Verbindung fortsetzen möchten (ja/nein)? Geben Sie Ja ein und drücken Sie die Eingabetaste, um fortzufahren.

3. Sobald Sie dies getan haben, werden alle Verbindungen zu localhost über den Port 5522 an Ihr Hosting-Konto weitergeleitet. Wir können uns jetzt mit den clientseitigen MySQL-Details mit einer Datenbank auf dem Shared Hosting-Server verbinden mit jedem MySQL-Client.

Hier ist ein Beispiel für die Verwendung eines Befehlszeilen-MySQL-Clients:

mysql -h 127.0.0.1 -P 5522 tunneltest_db -p -u tunneltest_user

Das Endergebnis sieht so aus:





Das war's!