web-dev-qa-db-de.com

Wie kann ich mit dem lokalen phpMyAdmin-Client auf den Remote-Server zugreifen?

Angenommen, es gibt einen Remote-Server und ich habe den phpMyAdmin-Client lokal auf meinem Computer installiert. Wie kann ich auf diesen Server zugreifen und ihn über den phpMyAdmin-Client verwalten? Ist das möglich? 

108
MichalB

Fügen Sie einfach unten in die Datei "config.inc.php" unten folgende Zeilen ein:

$i++;
$cfg['Servers'][$i]['Host'] = 'HostName:port'; //provide hostname and port if other than default
$cfg['Servers'][$i]['user'] = 'userName';   //user name for your remote server
$cfg['Servers'][$i]['password'] = 'Password';  //password
$cfg['Servers'][$i]['auth_type'] = 'config';       // keep it as config

. Sie erhalten "Current Server:" mit "127.0.0.1" und einem, was Sie mit "$ cfg ['Servers'] [$ i] ['Host']" zwischen den Servern erhalten haben.

weitere Details: http://sforsuresh.in/access-remote-mysql-server-using-local-phpmyadmin/

137
Suresh Kamrushi

Es ist zwar möglich, aber Sie müssen die phpMyAdmin-Konfiguration ändern. Lesen Sie diesen Beitrag: http://www.danielmois.com/article/Manage_remote_databases_from_localhost_with_phpMyAdmin

Wenn der Link aus irgendeinem Grund nicht mehr funktioniert, können Sie die folgenden Schritte ausführen:

  • Finde die Konfigurationsdatei von phpMyAdmin mit dem Namen config.inc.php
  • Suchen Sie die Variable $cfg['Servers'][$i]['Host'] und setzen Sie sie auf die IP-Adresse oder den Hostnamen Ihres Remote-Servers
  • Suchen Sie die Variable $cfg['Servers'][$i]['port'] und setzen Sie sie auf den Remote-MySQL-Port. Normalerweise ist dies 3306
  • Suchen Sie die Variablen $cfg['Servers'][$i]['user'] und $cfg['Servers'][$i]['password'] und setzen Sie diese auf Ihren Benutzernamen und Ihr Kennwort für den Remote-Server

Ohne korrekte Serverkonfiguration ist die Verbindung möglicherweise langsamer als eine lokale Verbindung. Es wäre wahrscheinlich etwas schneller, IP-Adressen anstelle von Hostnamen zu verwenden, um zu vermeiden, dass der Server die IP-Adresse anhand des Hostnamens nachschlagen muss. 

Denken Sie außerdem daran, dass der Benutzername und das Kennwort Ihrer Remote-Datenbank in Klartext gespeichert werden, wenn Sie eine solche Verbindung herstellen. Stellen Sie daher sicher, dass niemand auf diese Konfigurationsdatei zugreifen kann. Alternativ können Sie die Benutzernamen- und Kennwortvariablen leer lassen, um bei jeder Anmeldung zur Eingabe aufgefordert zu werden. Dies ist wesentlich sicherer.

21
Phil Cross

Es ist durchaus möglich, von einer lokalen Instanz von phpMyAdmin aus auf einen entfernten MySQL-Server zuzugreifen, wie die anderen Antworten gezeigt haben. Damit dies funktioniert, müssen Sie den MySQL-Server des Remote-Servers so konfigurieren, dass er Remote-Verbindungen akzeptiert und den Datenverkehr durch die Firewall für die Port-Nummer zulassen, die MySQL überwacht. Ich bevorzuge eine etwas andere Lösung mit SSH-Tunneling .

Der folgende Befehl richtet einen SSH-Tunnel ein, der alle Anforderungen an Port 3307 von Ihrem lokalen Computer an Port 3306 auf dem Remote-Computer weiterleitet:

ssh -NL 3307:localhost:3306 [email protected]_Host

Wenn Sie dazu aufgefordert werden, sollten Sie das Kennwort für den Root-Benutzer auf dem Remote-Computer eingeben. Dadurch wird der Tunnel geöffnet. Wenn Sie dies im Hintergrund ausführen möchten, müssen Sie das Argument -f hinzufügen und Passwordless SSH zwischen Ihrem lokalen Computer und dem Remote-Computer einrichten.

Nachdem der SSH-Tunnel in Betrieb ist, können Sie den Remoteserver der Serverliste in Ihrem lokalen phpMyAdmin hinzufügen, indem Sie die /etc/phpmyadmin/config.inc.php-Datei ändern. Fügen Sie am Ende der Datei Folgendes hinzu:

$cfg['Servers'][$i]['verbose']       = 'Remote Server 1';// Change this to whatever you like.
$cfg['Servers'][$i]['Host']          = '127.0.0.1';
$cfg['Servers'][$i]['port']          = '3307';
$cfg['Servers'][$i]['connect_type']  = 'tcp';
$cfg['Servers'][$i]['extension']     = 'mysqli';
$cfg['Servers'][$i]['compress']      = FALSE;
$cfg['Servers'][$i]['auth_type']     = 'cookie';
$i++;

Ich habe einen ausführlicheren blog post genau darüber geschrieben, falls Sie zusätzliche Hilfe benötigen.

17
c.hill

Folgen Sie diesem Blogeintrag. Sie können es sehr leicht machen. https://wadsashika.wordpress.com/2015/01/06/manage-remote-mysql-database-locally- using-phpmyadmin/

Die Datei config.inc.php enthält die Konfigurationseinstellungen für Ihre phpMyAdmin-Installation. In einem Array werden Konfigurationsoptionen für jeden Server gespeichert, zu dem eine Verbindung hergestellt werden kann. Standardmäßig gibt es nur einen eigenen Computer oder Localhost. Um eine Verbindung zu einem anderen Server herzustellen, müssen Sie dem Konfigurationsarray einen weiteren Satz von Konfigurationsoptionen hinzufügen. Sie müssen diese Konfigurationsdatei bearbeiten.

Öffnen Sie zunächst die Datei config.inc.php, die sich im Ordner phpMyAdmin befindet. Auf dem Server wamp finden Sie ihn im Ordner wamp\apps\phpmyadmin. Dann fügen Sie der Datei den folgenden Teil hinzu.

$i++;
$cfg['Servers'][$i]['Host']          = 'hostname/Ip Adress';
$cfg['Servers'][$i]['port']          = '';
$cfg['Servers'][$i]['socket']        = '';
$cfg['Servers'][$i]['connect_type']  = 'tcp';
$cfg['Servers'][$i]['extension']     = 'mysql';
$cfg['Servers'][$i]['compress']      = FALSE;
$cfg['Servers'][$i]['auth_type']     = 'config';
$cfg['Servers'][$i]['user']          = 'username';
$cfg['Servers'][$i]['password']      = 'password';

Mal sehen, was diese Variablen bedeuten.

$i++ :- Incrementing variable for each server
$cfg[‘Servers’][$i][‘Host’] :- Server Host name or IP adress
$cfg[‘Servers’][$i][‘port’] :- MySQL port (Leave a blank for default port. Default MySQL port is 3306)
$cfg[‘Servers’][$i][‘socket’] :- Path to the socket (Leave a blank for default socket)
$cfg[‘Servers’][$i][‘connect_type’] :- How to connect to MySQL server (‘tcp’ or ‘socket’)
$cfg[‘Servers’][$i][‘extension’] :- php MySQL extension to use (‘mysql’ or ‘msqli’)
$cfg[‘Servers’][$i][‘compress’] :- Use compressed protocol for the MySQL connection (requires PHP >= 4.3.0)
$cfg[‘Servers’][$i][‘auth_type’] :- Method of Authentication
$cfg[‘Servers’][$i][‘username’] :- Username to the MySQL database in remote server
$cfg[‘Servers’][$i][‘password’] :- Password to the MySQL database int he remote server

Nachdem Sie diesen Konfigurationsteil hinzugefügt haben, starten Sie Ihren Server neu. Jetzt ändert sich Ihre phpMyAdmin-Startseite und es wird ein Feld zur Auswahl des Servers angezeigt. 

Jetzt können Sie Ihren Server auswählen und auf Ihre entfernte Datenbank zugreifen, indem Sie den Benutzernamen und das Kennwort für diese Datenbank eingeben.

11
Dulanga Sashika

Wie in Antwort c.hill answer angegeben, wenn Sie eine sichere Lösung wünschen, würde ich Ihnen raten, einen SSH-Tunnel für Ihren Server zu öffnen.

So machen Sie es für Windows - Benutzer:

  1. Laden Sie Plink und PuTTY von der PuTTY-Website herunter und legen Sie die Dateien in einem Ordner Ihrer Wahl ab (In meinem Beispiel C:\PuTTY)

  2. Öffnen Sie die Windows-Konsole und cd im Plink-Ordner: cd C:\PuTTY

  3. Öffnen Sie den SSH-Tunnel und leiten Sie ihn an den Port 3307 weiter:

    plink -L 3307:localhost:3306 [email protected]_ip -i path_to_your_private_key.ppk

Woher:

  • 3307 ist der lokale Port, zu dem Sie umleiten möchten
  • localhost ist die Adresse der MySQL-Datenbank auf dem Remote-Server (standardmäßig localhost).
  • 3306 ist die Portnutzung für PhpMyAdmin auf dem Remote-Server (standardmäßig 3306)

Schließlich können Sie PhpMyAdmin einrichten:

  1. Fügen Sie den Remote-Server Ihrer lokalen PhpMyAdmin-Konfiguration hinzu, indem Sie am Ende von config.inc.php die folgende Zeile hinzufügen.

Zeilen hinzufügen:

$i++;   
$cfg['Servers'][$i]['verbose']          = 'Remote Dev server';
$cfg['Servers'][$i]['Host']             = 'localhost';
$cfg['Servers'][$i]['port']             = '3307';
$cfg['Servers'][$i]['connect_type']     = 'tcp';
$cfg['Servers'][$i]['extension']        = 'mysqli';
$cfg['Servers'][$i]['compress']         = FALSE;
$cfg['Servers'][$i]['auth_type']        = 'cookie';
  1. Sie sollten jetzt unter http://127.0.0.1/phpmyadmin eine Verbindung herstellen können.

Wenn Sie die Konsole nicht jedes Mal öffnen möchten, wenn Sie eine Verbindung zu Ihrem Remote-Server herstellen müssen, erstellen Sie einfach eine Stapeldatei (indem Sie die 2 Befehlszeilen in einer BAT-Datei speichern).

8
Yannickv

Sie können die Datei config.inc.php Ihrer phpMyAdmin-Installation festlegen.

$cfg['Servers'][$i]['Host'] = '';
6
oo_miguel

Ich hätte dies als Kommentar hinzugefügt, aber mein Ruf ist noch nicht hoch genug.

Unter Version 4.5.4.1deb2ubuntu2 errate ich auch andere Versionen 4.5.x oder neuer. Die config.inc.php-Datei muss überhaupt nicht geändert werden. Gehen Sie stattdessen ein weiteres Verzeichnis nach conf.d.

Erstellen Sie eine neue Datei mit der Erweiterung ".php" und fügen Sie die Zeilen hinzu. Dies ist ein besser modularisierter Ansatz, der die Zugriffsinformationen jedes entfernten Datenbankservers isoliert. 

4
Ken

In Ubuntu

Sie müssen lediglich eine einzelne Datei im PHPMyAdmin-Ordner ändern, d. H.

Dateispeicherort: /var/lib/phpmyadmin/config.inc.php OR /etc/phpmyadmin/config.inc.php

Möglicherweise haben Sie keine Berechtigung zum Bearbeiten dieser Datei. Geben Sie einfach die Berechtigung mit diesem Befehl ein

Sudo chmod 777 /var/lib/phpmyadmin/config.inc.php

ODER (in verschiedenen Systemen müssen Sie möglicherweise diese beiden Standorte überprüfen)

Sudo chmod 777 /etc/phpmyadmin/config.inc.php

Kopieren Sie dann den Code und fügen Sie ihn in Ihre config.inc.php-Datei ein

    $i++;
    $cfg['Servers'][$i]['auth_type']     = 'cookie';
    $cfg['Servers'][$i]['verbose'] = 'Database Server 2';
    $cfg['Servers'][$i]['Host'] = '34.12.123.31';
    $cfg['Servers'][$i]['connect_type']  = 'tcp';
    $cfg['Servers'][$i]['compress']      = false;
    $cfg['Servers'][$i]['AllowNoPassword'] = false;

Nehmen Sie die entsprechenden Änderungen mit Ihren Serverdetails vor

2
byteC0de

Gehen Sie zu Datei\phpMyAdmin\config.inc.php ganz unten und ändern Sie die Hosting-Details wie Host, Benutzername, Passwort usw.

1
Patrick R

Methode 1 (für Multiserver)

Lassen Sie uns zunächst eine Sicherungskopie der ursprünglichen Konfiguration erstellen.

Sudo cp /etc/phpmyadmin/config.inc.php      ~/ 

In/usr/share/doc/phpmyadmin/Examples/sehen Sie eine Datei config.manyhosts.inc.php . Einfach in/etc/phpmyadmin/ Kopieren und dabei den folgenden Befehl verwenden:

Sudo cp /usr/share/doc/phpmyadmin/examples/config.manyhosts.inc.php \
        /etc/phpmyadmin/config.inc.php

Bearbeiten Sie die config.inc.php

Sudo nano /etc/phpmyadmin/config.inc.php 

Suchen nach :

$hosts = array (
    "foo.example.com",
    "bar.example.com",
    "baz.example.com",
    "quux.example.com",
);

Fügen Sie Ihr IP- oder Hostnamen-Array zum Speichern hinzu (in Nano-STRG + X drücken Sie Y) und beenden Sie das Programm. Erledigt

Methode 2 (einzelner Server) Bearbeiten Sie die config.inc.php  

Sudo nano /etc/phpmyadmin/config.inc.php 

Suchen nach :

/* Server parameters */
if (empty($dbserver)) $dbserver = 'localhost';
$cfg['Servers'][$i]['Host'] = $dbserver;

if (!empty($dbport) || $dbserver != 'localhost') {
    $cfg['Servers'][$i]['connect_type'] = 'tcp';
    $cfg['Servers'][$i]['port'] = $dbport;
}

Und ersetzen Sie mit:

$cfg['Servers'][$i]['Host'] = '192.168.1.100';
$cfg['Servers'][$i]['port'] = '3306';

Denken Sie daran, 192.168.1.100 durch Ihren eigenen Mysql-IP-Server zu ersetzen.

Entschuldigung für mein schlechtes Englisch (Google Translate hat die Schuld: D)

0
Cornea Valentin