Antworten:
Fügen Sie Ihrer /etc/phpmyadmin/config.inc.php
Datei unten einfach die folgenden Zeilen hinzu :
$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 die Dropdown-Liste "Aktueller Server:" mit "127.0.0.1" und einem Dropdown-Menü "$ cfg ['Server'] [$ i] ['Host']" zwischen den Servern.
Weitere Details: http://sforsuresh.in/access-remote-mysql-server-using-local-phpmyadmin/
$i++
ist ein wichtiger Punkt , da dies wir nicht die Datenbankverbindung mit dem Standard verlieren localhost
.
/etc/phpmyadmin/config.inc.php
ist die richtige Datei zu ändern
config.inc.php
, befindet sich die Datei unter Applications/XAMPP/xamppfiles/phpmyadmin/config.inc.php
Datei.
Es ist sicherlich möglich, von einer lokalen Instanz von phpMyAdmin auf einen Remote-MySQL-Server zuzugreifen, wie die anderen Antworten gezeigt haben. Damit dies funktioniert, müssen Sie den MySQL-Server des Remote-Servers so konfigurieren, dass Remote-Verbindungen akzeptiert werden , und den Datenverkehr durch die Firewall für die Portnummer zulassen, die MySQL abhört. Ich bevorzuge eine etwas andere Lösung mit SSH-Tunneling .
Mit dem folgenden Befehl wird ein SSH-Tunnel eingerichtet, der alle an Port 3307 von Ihrem lokalen Computer gestellten Anforderungen an Port 3306 auf dem Remotecomputer weiterleitet:
ssh -NL 3307:localhost:3306 root@REMOTE_HOST
Wenn Sie dazu aufgefordert werden, sollten Sie das Kennwort für den Root-Benutzer auf dem Remotecomputer eingeben. Dadurch wird der Tunnel geöffnet. Wenn Sie dies im Hintergrund ausführen möchten, müssen Sie das -f
Argument hinzufügen und Kennwortloses SSH zwischen Ihrem lokalen Computer und dem Remotecomputer einrichten .
Nachdem der SSH-Tunnel funktioniert hat, können Sie den Remote-Server zur 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 ausführlicher geschrieben Blog-Beitrag darüber geschrieben, falls Sie zusätzliche Hilfe benötigen.
$++
sollte definitiv die erste Zeile sein, nicht die letzte, zumindest für meine Standard-phpmyadmin.conf.
Dies ist möglich, aber Sie müssen die Konfiguration von phpMyAdmin ä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:
config.inc.php
$cfg['Servers'][$i]['host']
Variable und setzen Sie sie auf die IP oder den Hostnamen Ihres Remote-Servers$cfg['Servers'][$i]['port']
Variable und setzen Sie sie auf den Remote-MySQL-Port. Normalerweise ist das so3306
$cfg['Servers'][$i]['user']
und $cfg['Servers'][$i]['password']
Variablen und legen Sie diese auf Ihrem Benutzernamen und Passwort für den Remote - ServerOhne eine ordnungsgemäße Serverkonfiguration ist die Verbindung möglicherweise langsamer als eine lokale Verbindung. Es ist 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 entfernten Datenbank bei einer solchen Verbindung im Klartext gespeichert werden. Sie sollten daher Maßnahmen ergreifen, um sicherzustellen, dass niemand auf diese Konfigurationsdatei zugreifen kann. Alternativ können Sie die Variablen für Benutzername und Kennwort leer lassen, um bei jeder Anmeldung zur Eingabe aufgefordert zu werden. Dies ist wesentlich sicherer.
Folgen Sie diesem Blog-Beitrag. Sie können es sehr einfach tun. 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. Es verwendet ein Array zum Speichern von Konfigurationsoptionen für jeden Server, zu dem eine Verbindung hergestellt werden kann, und standardmäßig gibt es nur einen, Ihren eigenen Computer oder einen lokalen Host. Um eine Verbindung zu einem anderen Server herzustellen, müssten Sie dem Konfigurationsarray weitere Konfigurationsoptionen hinzufügen. Sie müssen diese Konfigurationsdatei bearbeiten.
Öffnen Sie zuerst die Datei config.inc.php im Ordner phpMyAdmin . Im Wamp- Server finden Sie ihn im Ordner wamp \ apps \ phpmyadmin . Fügen Sie dann den folgenden Teil zu dieser Datei 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 die Bedeutung dieser Variablen ist.
$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
Starten Sie nach dem Hinzufügen dieses Konfigurationsteils Ihren Server neu. Jetzt ändert sich Ihre phpMyAdmin-Homepage 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.
Wie in Antwort c.hill angegeben Antwort angegeben, würde ich empfehlen, einen SSH-Tunnel für Ihren Server zu öffnen , wenn Sie eine sichere Lösung wünschen .
Hier ist der Weg, dies für Windows zu tun Benutzer:
Laden Sie Plink and Putty von der Putty-Website herunter und legen Sie die Dateien in einem Ordner Ihrer Wahl ab (in meinem Beispiel)C:\Putty
).
Öffnen Sie die Windows-Konsole und die CD in den Plink-Ordner:
cd C:\Putty
Öffnen Sie den SSH-Tunnel und leiten Sie zum Port 3307 um:
plink -L 3307:localhost:3306 username@server_ip -i path_to_your_private_key.ppk
Wo:
Schließlich können Sie PhpMyAdmin einrichten:
Zu fügende Zeilen:
$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';
http://127.0.0.1/phpmyadmin
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 Batch-Datei (indem Sie die beiden Befehlszeilen in einer .bat-Datei speichern).
Ich hätte dies als Kommentar hinzugefügt, aber mein Ruf ist noch nicht hoch genug.
Unter Version 4.5.4.1deb2ubuntu2, und ich vermute alle anderen Versionen 4.5.x oder neuer. Die Datei config.inc.php muss überhaupt nicht geändert werden. Gehen Sie stattdessen ein weiteres Verzeichnis nach unten conf.d.
Erstellen Sie eine neue Datei mit der Erweiterung '.php' und fügen Sie die Zeilen hinzu. Dies ist ein besser modularisierter Ansatz und isoliert die Zugriffsinformationen aller Remote-Datenbankserver.
Gehen Sie ganz unten zur Datei \ phpMyAdmin \ config.inc.php und ändern Sie die Hosting-Details wie Host, Benutzername, Passwort usw.
In Ubuntu
Sie müssen lediglich eine einzelne Datei im Ordner PHPMyAdmin ändern, z. B. "config.inc.php". Fügen Sie einfach die folgenden Zeilen zu Ihrer "config.inc.php" hinzu.
Dateispeicherort: /var/lib/phpmyadmin/config.inc.php
ODER
/etc/phpmyadmin/config.inc.php
Möglicherweise haben Sie nicht die 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 an Ihren Serverdetails vor
Methode 1 (für Multiserver)
Lassen Sie uns zunächst eine Sicherungskopie der ursprünglichen Konfiguration erstellen.
sudo cp /etc/phpmyadmin/config.inc.php ~/
Jetzt sehen Sie in / usr / share / doc / phpmyadmin / examples / eine Datei config.manyhosts.inc.php . Kopieren Sie einfach mit dem folgenden Befehl nach / etc / phpmyadmin / :
sudo cp /usr/share/doc/phpmyadmin/examples/config.manyhosts.inc.php \
/etc/phpmyadmin/config.inc.php
Bearbeiten Sie die Datei 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 Ihre IP- oder Hostnamen-Array-Speicherung hinzu (drücken Sie in Nano-STRG + X Y) und beenden Sie das Programm. Getan
Methode 2 (einzelner Server) Bearbeiten Sie die Datei 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 durch:
$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 Übersetzer haben die Schuld: D)
Beim Testen finde ich die Datei config.default.php
dann finden $ cfg ['AllowArbitraryServer'] = false;
Setzen Sie es dann auf true
Hinweis: Unter Ubuntu die Datei im Pfad /usr/share/phpmyadmin/libraries/config.default.php
Dann finden Sie einen neuen Dateinamen SERVER auf der Hauptseite von PHPMyAdmin. Sie können ihm eine beliebige IP oder einen lokalen Host für die lokale Datenbank hinzufügen.
Unter Windows mit installiertem Wamp Server finden Sie möglicherweise die Konfigurationsdatei
C:\wamp64\apps\phpmyadmin4.8.4\config.inc.php
Ändern Sie die Bolow-Linie entsprechend
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['port'] = 3306;//$wampConf['mysqlPortUsed'];
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = '';
$cfg['Servers'][$i]['password'] = '';
Löschen Sie vollständige Einträge von /etc/http/conf.d/phpMyAdmin.conf
Und unten Entires in der obigen Datei,
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
#ADD following line:
Require all granted
Require ip 127.0.0.1
Require ip ::1
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
#CHANGE following 2 lines:
Order Allow,Deny
Allow from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
Dann,
Führen Sie den folgenden Befehl in der MySQL-Eingabeaufforderung aus.
GRANT ALL ON *.* to root@localhost IDENTIFIED BY 'root@<password>'
GRANT ALL ON *.* to root@'%' IDENTIFIED BY 'root@<password>'
Als Referenz: IP erlauben, auf Secured PhpMyAdmin zuzugreifen
phpmyadmin
Docker-Image auch lokal installieren und eine Verbindung zu Ihrem Remote-MySQL-Server herstellen. Weitere Details hier :docker run --name myadmin -d -e PMA_HOST=<REMOTE_DB_HOST> -e PMA_PORT=<REMOTE_DB_PORT> -p 8080:80 phpmyadmin/phpmyadmin