So erlauben Sie Remote -Verbindungen zu MySQL

So erlauben Sie Remote -Verbindungen zu MySQL

Wenn Sie mit einer MySQL -Datenbank zusammenarbeiten, sind Sie bereits bekannt, welche Herausforderungen Sie bei der Sicherung Ihrer Datenbank stellen müssen. Von Datenbank -Hacking -Versuchen mit SQL -Injektionen bis hin zu Brute Force -Angriffen ist es schwierig, Ihre Daten sicher zu halten, insbesondere wenn Sie mit einer Datenbank aus der Ferne arbeiten.

Es gibt Möglichkeiten, einen SQL -Server so zu konfigurieren, dass Remote -Verbindungen zu ermöglichen. Sie müssen jedoch vorsichtig sein. Wenn Sie Remote -Verbindungen auf einem MySQL -Server ermöglichen, können Sie Ihre Datenbank zu einem einfachen Ziel für Hacker machen. Wenn Sie sichere, Remote -Verbindungen zu einer MySQL -Datenbank zulassen möchten, müssen Sie Folgendes wissen.

Inhaltsverzeichnis

    Diese Anleitung führt Sie durch die Schritte zum Konfigurieren von MySQL, um Remote -Verbindungen zu ermöglichen. Sie müssen jedoch sicherstellen.

    Angenommen, Sie haben keinen Remote -Zugriff auf Ihren Server über SSH (zum Beispiel). In diesem Fall können Sie Ihre MySQL -Datenbank nicht konfigurieren, um Remote -Verbindungen direkt zu ermöglichen, es sei denn. Sie müssen diese Verbindung also zuerst herstellen, bevor Sie fortfahren können.

    Bearbeiten Ihrer MySQL -Konfigurationsdatei

    Der erste Schritt bei der Konfiguration von MySQL, um Remote -Verbindungen zu ermöglichen, besteht darin, Ihre MySQL -Konfigurationsdatei zu bearbeiten. Zu diesem Zeitpunkt wird dieser Handbuch davon ausgegangen.

    Alternativ können Sie einen lokalen MySQL -Server mit einem offenen Terminal auf Mac oder Linux oder einem Texteditor unter Windows konfigurieren.

    1. Verwenden Sie zunächst Ihren bevorzugten Konsolen -Texteditor, um Ihre MySQL -Datenbankdatei zu bearbeiten. Unter Linux tippen sudo nano/etc/mysql/mysql.Conf.D/Mysqld.CNF in ein Terminal- oder SSH -Fenster, um diese Datei mit dem zu bearbeiten Nano Editor (vorausgesetzt, Ihre MySQL -Datenbank befindet sich im Standardstandort).
    1. Wenn Sie Windows ausführen, öffnen Sie den Datei -Explorer und greifen Sie auf den Ordner zu, der Ihre MySQL -Installation enthält (z. C:/Programmdateien/MySQL/MySQL Server 8.0). Öffne das Mein.Ini Datei mit Ihrem Standardtext -Editor (z. Notizblock) durch Doppelklick auf den Eintrag. Wenn es nicht da ist, erstellen Sie zuerst die Datei.
    1. Öffnen Sie auf dem Mac ein Terminalfenster und geben Sie ein sudo nano/usr/local/etc/mein.CNF. Dies ist die Standardkonfigurationsdatei für MySQL, wenn Sie MySQL mit Homebrew installiert haben.

    Die oben genannten Positionen sind die Standardpositionen für MySQL -Konfigurationsdateien. Wenn diese Befehle nicht funktionieren, müssen Sie nach den relevanten Dateien suchen (Mein.CNF, Mysqld.CNF, oder Mein.Ini) Manuell, um den entsprechenden Dateipfad zu lokalisieren.

    Setzen Sie einen sicheren IP-Bereich für die Bindungsadresse

    1. Sobald Sie die MySQL -Konfigurationsdatei für Ihren Server geöffnet haben, verwenden Sie die Pfeiltaste Ihrer Tastatur, um die zu erreichen Bindungsadresse Abschnitt der Datei. Dieser IP -Bereich begrenzt die Verbindungen zu Ihrer Datenbank, die normalerweise so eingestellt sind, dass nur Verbindungen vom lokalen Computer oder Server verwendet werden 127.0.0.1.
    1. Wenn Sie Ihre MySQL -Datenbank so konfigurieren möchten, dass Verbindungen von Geräten mithilfe Ihrer aktuellen Internetverbindung zu ermöglichen, finden Sie zuerst Ihre öffentliche IP -Adresse und ersetzen 127.0.0.1 mit dieser IP -Adresse. Ersetzen Sie es alternativ durch eine IP -Adresse für das Gerät oder Server, von dem Sie Verbindungen von Verbindungen zulassen möchten.
    1. Unter bestimmten Umständen möchten Sie möglicherweise zulassen alle Fernverbindungen zu einer MySQL -Datenbank. Dies trägt extremes Risiko und sollte nicht auf einem Produktionsserver verwendet werden. Wenn Sie dies jedoch zulassen möchten, ersetzen Sie dies 127.0.0.1 mit 0.0.0.0.
    1. Notieren Sie sich der Hafen Wert in der Grundeinstellungen Abschnitt. Dies ist im nächsten Abschnitt erforderlich. Wenn es nicht sichtbar ist, wird der Standardwert verwendet, nämlich der Port 3306. Sie können Ihren eigenen Port durch Eingabe hinzufügen port = xxxx auf einer neuen Linie ersetzen xxxx mit einem geeigneten Portwert.
    1. Sobald Sie die konfiguriert haben Bindungsadresse Speichern Sie in Ihrer MySQL -Konfigurationsdatei die Datei. Wenn Sie unter Linux sind, wählen Sie Strg + o Und Strg + x um dies zu tun. Auf dem Mac, wählen Sie Befehl + o Und Befehl + x. Windows -Benutzer können durch Auswahl speichern Datei > Speichern.
    1. Als nächstes können Linux- und Mac -Benutzer MySQL durch Eingabe neu starten Mysql.Server Stopp && mysql.Serverstart oder Mysql.Server Neustart. Möglicherweise müssen Sie den Befehl mit sudo (z. B. erhöhen. sudo mysql.Server Neustart) und verwenden Sie den entsprechenden Pfad zum MySQL.Serverdatei (z. /usr/local/bin/mysql.Server).
    1. Wenn der obige Befehl nicht funktioniert, versuchen Sie es sudo service MySQL Neustart stattdessen.
    1. Um MySQL unter Windows neu zu starten, öffnen Sie ein neues PowerShell-Fenster, indem Sie mit der rechten Maustaste auf das Startmenü klicken und auswählen Windows PowerShell (Admin). Geben Sie im PowerShell -Fenster ein NET STOP MYSQL80 gefolgt von NET START MYSQL80, ersetzen MySQL80 mit dem richtigen Servicenamen auf Ihrem PC.

    Wenn Sie sich nicht sicher sind, ob der richtige Service -Name unter Windows eingeben, geben Sie ein Netzstart es zu finden.Wenn Sie Ihre Konfiguration nicht neu laden können, starten Sie Ihren Server neu und laden Sie MySQL (falls erforderlich) manuell neu.

    Konfigurieren Ihrer Firewalls

    Zu diesem Zeitpunkt sollte Ihre MySQL -Datenbank Remoteverbindungen von Geräten über die IP -Adresse, die Sie als die festgelegt haben, zulassen Bindungsadresse Wert in Ihrer MySQL -Konfigurationsdatei (oder von allen Geräten, wenn Sie diesen Wert auf festlegen 0.0.0.0 stattdessen). Verbindungen werden jedoch weiterhin von Ihrem blockiert Geräte- oder Netzwerkfeuerwall.

    Die meisten Server und PCs verwenden eine Firewall, um Verbindungen zu blockieren, es sei denn, der Zugriff auf einen bestimmten Port wird gewährt. Die Schritte zur Konfiguration Dies variiert, je nachdem, ob Sie MySQL unter Windows oder Linux ausführen. Mac -Firewalls sind standardmäßig deaktiviert, sodass Sie hier keine zusätzlichen Schritte ausführen müssen.

    Konfigurieren Sie Linux -Firewalls

    Viele Linux -Server verwenden iptables Als Standard -Firewall -Dienstprogramm. Sie können es konfigurieren, indem Sie den folgenden Schritten folgen.

    1. Öffnen Sie einen Terminal- oder SSH -Anschluss und einen Typ sudo iptables -a Eingabe -p tcp -s x.X.X.X -dport yjyy -j akzeptieren. Ersetzen X.X.X.X Mit der IP -Adresse für das Gerät möchten Sie MySQL -Verbindungen zulassen aus, und ersetzen Yjyy mit dem passenden Portwert aus Ihrer MySQL -Konfigurationsdatei (z. 3306).
    1. Dies konfiguriert die Firewall vorübergehend. Wenn Sie einen Debian- oder Ubuntu-basierten Linux-Server verwenden, führen Sie diese Änderung durch Eingabe dauerhaft vor sudo netfilter-persistent sparen Und sudo netfilter-persistentes Reload in das Terminal- oder SSH -Fenster.

    Wenn Iptables nicht das Standard -Firewall -Tool für Ihre Linux -Distribution ist, müssen Sie das Benutzerhandbuch Ihrer Verteilung erhalten, um weitere Informationen zu erhalten. Wenn bestimmte Pakete (z Netfilter-Persistent) nicht verfügbar sind, verwenden Sie das Software -Repository -Tool Ihrer Verteilung, um es zu installieren (z. sudo apt installieren netfilter-persistent).

    Konfigurieren Sie Windows Firewalls

    Wenn Sie einen Windows -PC oder Server zum Hostieren Ihrer Datenbank verwenden, können Sie Ihre Firewall mit diesen Schritten konfigurieren:

    1. Klicken Sie mit der rechten Maustaste auf das Startmenü und wählen Sie Laufen.
    1. Im Laufen Box, Typ wf.MSC und auswählen OK.
    1. Im Windows Defender Fenster, auswählen Eingehende Regeln > Neue Regel.
    1. Im Neue Inbound -Regel -Assistent Fenster, auswählen Hafen > Nächste.
    1. Wählen Sie im nächsten Menü aus TCP Geben Sie aus den Optionen ein 3306 (oder welcher Portwert auch immer in Ihrer MySQL -Konfigurationsdatei aufgeführt ist) und wählen Sie dann aus Nächste.
    1. Bei der Aktion Menü, überlassen Sie die Standardoption an Die Verbindung zulassen aktiviert, dann auswählen Nächste.
    1. Bestätigen Sie, dass Sie möchten, dass die Regel für alle Netzwerktypen angewendet wird, und wählen Sie dann aus Nächste.
    1. Geben Sie einen deskriptiven Namens für die Regel ein (z. B. z. Mysql) im angegebenen Port und dann auswählen Beenden Um es Ihrer Liste der Firewall -Regeln hinzuzufügen.

    Wenn Sie Probleme haben, sich zu verbinden, wiederholen Sie diese Schritte oben und stellen Sie sicher Outbound -Regel In Ihren Firewall -Einstellungen mit denselben Details (Port 3306 usw.). Möglicherweise müssen Sie Ihren lokalen Netzwerkrouter auch so konfigurieren, dass die erforderlichen blockierten Ports geöffnet werden, um eingehende und ausgehende Verbindungen zu Ihrer Datenbank zu ermöglichen. 

    Verbindung zu einem Remote -Server mit MySQL herstellen

    Nach Konfiguration Ihrer MySQL -Datenbank, um Remote -Verbindungen zu ermöglichen, müssen Sie tatsächlich eine Verbindung dazu herstellen. Sie können dies mit dem tun Mysql Befehl (Mysql.exe unter Fenstern) aus einem Terminal- oder PowerShell -Fenster.

    Wenn Sie Windows ausführen, müssen Sie sicherstellen, dass MySQL lokal installiert ist, bevor Sie beginnen. Mac -Benutzer können MySQL mit Homebrew aus dem Terminal installieren (Brew Install install MySQL), während Linux -Benutzer ihr lokales App -Repository (z. B. verwenden können. sudo apt installieren Sie MySQL) Um die erforderlichen Pakete zu installieren.

    Verbindung zu MySQL unter Linux oder Mac herstellen

    1. Um eine Verbindung zu Ihrem Remote MySQL -Server auf Mac oder Linux herzustellen, öffnen Sie ein neues Terminalfenster und geben Sie ein MySQL -U Benutzername -h x.X.X.X: xxxx -p. Ersetzen X.X.X.X: xxxx mit Ihrer Remote -Server -IP -Adresse und Portnummer (z. B. z. B. 100.200.100.200: 3306) Und Nutzername mit Ihrem MySQL -Benutzernamen.
    1. Bestätigen Sie Ihr Passwort, wenn Sie aufgefordert werden. Wenn die Verbindung erfolgreich ist, wird im Terminal eine Erfolgsnachricht angezeigt.

    Verbindung zu MySQL unter Windows herstellen

    1. Öffnen Sie ein neues PowerShell-Fenster, indem Sie mit der rechten MySQL-Server unter Windows eine Verbindung zu einem Remote-MySQL-Server herstellen, indem Sie mit der rechten Maustaste auf das Startmenü klicken und auswählen Windows PowerShell (Admin).
    1. Geben Sie im neuen PowerShell -Fenster ein CD “C: \ Programme \ Mysql \ Mysql Workbench 8.0 \”Um den richtigen Ordner einzugeben und dieses Verzeichnis durch das richtige Installationsverzeichnis auf Ihrem PC zu ersetzen. Zum Beispiel, wenn Ihre Version von MySQL 8 ist.0.1 Verwenden Sie die Mysql Workbench 8.0.1 Ordner stattdessen.
    1. Von dort aus tippen .\ mysql.exe -u username -h x.X.X.X: xxxx -p. Ersetzen X.X.X.X: xxxx mit Ihrer Remote -Server -IP -Adresse und Portnummer (z. B. z. B. 100.200.100.200: 3306) Und Nutzername mit einem MySQL -Benutzernamen, der Remote -Zugriff ermöglicht (wie z Wurzel). Befolgen Sie alle zusätzlichen Anweisungen auf dem Bildschirm.
    2. Geben Sie Ihr Passwort, wenn Sie aufgefordert werden, den Anmeldungsprozess ab und greifen Sie auf Ihre MySQL-Datenbank aus der Ferne zuzugreifen.

    Wenn dies nicht funktioniert, stellen Sie eine Verbindung zum Server oder PC her, das Ihren MySQL -Server mithilfe von SSH (oder direkt darauf zugreifen) mit diesen Schritten und mit dem zugreifen -H LOCALHOST Streit. Sie können dann ein geeignetes Benutzerkonto erstellen, indem Sie den folgenden Schritten folgen.

    Ermöglichen

    Zu diesem Zeitpunkt sollten Sie in der Lage sein, eine Verbindung zu Ihrem MySQL -Server mithilfe des Root -Benutzerkontos Ihres Servers oder eines anderen Benutzerkontos mit erhöhten Berechtigungen herzustellen. Da diese Zugriffsstufe unsicher ist, bevorzugen Sie möglicherweise ein eingeschränkteres Konto für den Zugriff auf Ihre MySQL -Datenbank.

    Dieses Konto hat einen begrenzten Zugriff auf Ihren MySQL -Server, sodass es nur mit ausgewählten Datenbanken interagieren kann. Es kann keine ernsthafteren Änderungen vornehmen, z. B. auf andere Datenbankdaten, das Erstellen neuer Benutzerkonten usw.

    Sie müssen die Möglichkeit haben, sich in Ihrem MySQL -Server aus der Ferne anzumelden. Wenn Sie Ihr Root -Konto nicht remote verwenden können, müssen Sie mit der Shell Ihres Servers zugreifen Mysql Befehl über eine Remote -SSH -Verbindung oder durch direkte Zugriff auf den PC oder Server Hosting auf den Server.

    1. In Ihrer Remote Mysql Shell (mit der Mysql Werkzeug), Typ Erstellen Sie den Benutzer "Benutzername"@"x.X.X.x ”identifiziert durch„ Passwort “; und auswählen Eingeben. Ersetzen Nutzername Mit dem Benutzernamen, den Sie erstellen möchten, X.X.X.X mit der IP -Adresse, von der Sie eine Verbindung herstellen möchten, und Passwort mit einem geeigneten Passwort.
    1. Sie müssen Ihr neues Konto mit den erforderlichen Berechtigungen erteilen. Geben Sie dazu an Gewähren Sie alles auf Datenbankname.* Zu username@"x.X.X.X"; und ersetzen Datenbankname, Benutzername, Und X.X.X.X mit den richtigen Details. Wenn Sie möchten, ersetzen Sie Name der Datenbank mit * Zu dem Zugriff auf alle Datenbanken zu gewähren.

    Verwenden Sie mit gewährtem Zugriff die Schritte im obigen Abschnitt, um eine Verbindung zu Ihrem Server mit Ihrem neuen Konto remote (z. MySQL -U Benutzername -h x.X.X.X: xxxx -p).

    Sicherung Ihrer Datenbankdaten

    Unabhängig davon. Eine gute Möglichkeit, dies zu tun.

    Wenn Sie sich Sorgen um den Datenverlust machen, können Sie Ihre Datenbank problemlos online sichern. Die meisten Datenbanken werden mit Linux-Servern ausgeführt-Sie können eine Linux-Dateisicherung problemlos automatisieren. Wenn Sie MySQL unter Windows ausführen, können Sie ein ähnliches automatisches Sicherungssystem für Windows einrichten, sodass Sie Ihre Daten in einem Notfall wiederherstellen können.