Wann Sie Fernzugriff brauchen
Mit dem Fernzugriff erreichen Sie Ihre MySQL-Datenbank aus:
- einer lokalen Entwicklungsumgebung (XAMPP, MAMP, Docker)
- Desktop-Datenbankwerkzeugen (MySQL Workbench, DBeaver, Sequel Pro)
- anderen Servern oder Cloud-Anwendungen
- automatisierten Skripten und Backup-Werkzeugen
Sicherheitshinweis: Der MySQL-Fernzugriff öffnet ein mögliches Sicherheitsrisiko. Aktivieren Sie ihn nur, wenn Sie ihn wirklich brauchen, und verwenden Sie immer starke Passwörter.
Fernzugriff aktivieren
Schritt 1: Remote-Host eintragen
- Melden Sie sich bei EGPNL an
- Öffnen Sie Databases → Remote MySQL
- Tragen Sie Ihre IP-Adresse oder Ihren Hostnamen ein
- Klicken Sie auf Add Host
Ihre IP finden: Rufen Sie whatismyipaddress.com auf, um Ihre aktuelle öffentliche IP zu sehen.
Schritt 2: Datenbank-Benutzer einrichten
Stellen Sie sicher, dass Ihr Datenbank-Benutzer die richtigen Rechte hat:
- Öffnen Sie MySQL Databases
- Prüfen Sie, ob Ihr Benutzer All Privileges besitzt
- Oder legen Sie einen eigenen Benutzer für den Fernzugriff an
Verbindungseinstellungen
| Einstellung | Wert |
|---|---|
| Hostname | Die IP Ihres Servers oder yourdomain.com |
| Port | 3306 (Standardport von MySQL) |
| Datenbank | your_database_name |
| Benutzername | your_database_user |
| Passwort | your_database_password |
Verbinden mit MySQL Workbench
- Öffnen Sie MySQL Workbench
- Klicken Sie auf +, um eine neue Verbindung anzulegen
- Vergeben Sie einen Namen für die Verbindung
- Tragen Sie unter Hostname die Adresse Ihres Servers ein
- Setzen Sie Port auf 3306
- Geben Sie den Benutzernamen ein
- Klicken Sie für das Passwort auf Store in Vault
- Klicken Sie auf Test Connection
- Klicken Sie auf OK, um zu speichern
Verbinden über die Kommandozeile
# Basic connection
mysql -h your-server.com -P 3306 -u username -p database_name
# Example
mysql -h server.egphp.com -P 3306 -u mysite_user -p mysite_db
Verbinden aus PHP heraus (entfernte Anwendung)
<?php
$host = 'your-server.com'; // Remote server hostname
$port = 3306;
$database = 'your_database';
$username = 'your_user';
$password = 'your_password';
// PDO Connection
try {
$pdo = new PDO(
"mysql:host=$host;port=$port;dbname=$database;charset=utf8mb4",
$username,
$password,
[PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]
);
echo "Connected successfully!";
} catch (PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
?>
Alle Hosts erlauben (Wildcard)
So erlauben Sie Verbindungen von jeder beliebigen IP-Adresse:
- Öffnen Sie Remote MySQL in EGPNL
- Tragen Sie
%als Host ein - Klicken Sie auf Add Host
Nicht empfohlen: Alle Hosts zu erlauben (%) ist ein Sicherheitsrisiko. Nutzen Sie es nur zum Testen und entfernen Sie den Eintrag danach wieder. Verwenden Sie wann immer möglich konkrete IP-Adressen.
SSH-Tunnel (die sicherste Variante)
Für maximale Sicherheit verbinden Sie sich über einen SSH-Tunnel:
SSH-Tunnel über die Kommandozeile
# Create tunnel
ssh -L 3307:localhost:3306 user@your-server.com
# In another terminal, connect via tunnel
mysql -h 127.0.0.1 -P 3307 -u dbuser -p database_name
SSH-Tunnel in MySQL Workbench
- Legen Sie eine neue Verbindung an
- Setzen Sie die Verbindungsmethode auf Standard TCP/IP over SSH
- SSH-Hostname: your-server.com
- SSH-Benutzername: Ihr SSH-Benutzer
- SSH-Schlüsseldatei: Ihr privater Schlüssel (optional)
- MySQL-Hostname: localhost (oder 127.0.0.1)
- Geben Sie die Zugangsdaten der Datenbank ein
Warum ein SSH-Tunnel? SSH-Tunnel verschlüsseln den gesamten Datenverkehr, und der MySQL-Port 3306 muss nicht zum Internet hin geöffnet werden.
Fehlerbehebung
Verbindung abgelehnt (Connection Refused)
- Prüfen Sie, ob Ihre IP in Remote MySQL eingetragen ist
- Prüfen Sie, ob sich Ihre IP geändert hat (dynamische IP)
- Vergewissern Sie sich, dass Port 3306 in Ihrer Firewall offen ist
Zugriff verweigert (Access Denied)
- Prüfen Sie Benutzername und Passwort
- Prüfen Sie, ob der Benutzer Rechte für den Fernzugriff hat
- Stellen Sie sicher, dass der Datenbankname stimmt
Zeitüberschreitungen
- Prüfen Sie, ob Netzwerk oder Firewall Port 3306 blockieren
- Versuchen Sie es stattdessen mit einem SSH-Tunnel
- Prüfen Sie, ob der Server Verbindungen annimmt
Fernzugriff wieder entfernen
Wenn Sie den Fernzugriff nicht mehr brauchen:
- Öffnen Sie Remote MySQL in EGPNL
- Suchen Sie den Eintrag für die IP bzw. den Host
- Klicken Sie auf Delete
War dieser Artikel hilfreich?