Einführung
Bei der traditionellen Bereitstellung installieren Benutzer häufig den MySQL-Server und verwenden ihn vom selben Host aus. Es wird jedoch dringend empfohlen, MySQL-Server und -Client zu trennen, auf den MySQL-Server sollte von einem Remote-Host zugegriffen werden. Diese Methode trägt dazu bei, das System sicherer zu machen und die Leistung zu steigern.
Um die obige Methode zu ermöglichen, müssen wir den MySQL-Server so konfigurieren, dass er eine Remote-Verbindung von seinem Client zulässt.
MySQL-Server konfigurieren
Lassen Sie uns zunächst den MySQL-Server so konfigurieren, dass er eine vordefinierte IP oder alle IP-Adressen auf Ihrem Server abhört.
Wenn sich der MySQL-Server im selben Netzwerk wie die Clients befindet, sollten Sie den Listen-Port auf der privaten IP konfigurieren.
Wenn Sie andererseits über ein öffentliches Netzwerk eine Verbindung zum MySQL-Server herstellen müssen, konfigurieren wir den Server gemäß der folgenden Konfiguration:
Öffnen Sie die Konfigurationsdatei:
$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
Gehen Sie zu der Zeile, die mit bind-address
beginntStandardmäßig ist der Wert von bind-address 127.0.0.1
Wenn Sie den MySQL-Server so einstellen möchten, dass er auf allen IP-Adressen lauscht, konfigurieren Sie den Wert von bind-address =0.0.0.0
Damit die Änderung wirksam wird, starten wir den MySQL-Dienst neu:
$ sudo systemctl restart mysql
Einem Benutzer Zugriff von entfernten Hosts gewähren
In diesem Teil zeigen wir Ihnen, wie Sie entfernten Benutzern den Zugriff auf eine Datenbank gewähren können.
Melden Sie sich beim MySQL-Server an:
$ sudo mysql
Dann
mysql> GRANT ALL ON DATABASE-NAME.* TO [email protected] IDENTIFIED BY ‘USER-PASSWORD’;
Zum Beispiel:
mysql> GRANT ALL ON linuxways.* TO [email protected] IDENTIFIED BY ‘mysecuredpass’;
Firewall konfigurieren
Der MySQL-Server lauscht auf Port 3306. Sie müssen diesen Port öffnen, um Datenverkehr von den Remote-Hosts zuzulassen. Sie können eine der folgenden Methoden verwenden:
iptables
$ sudo iptables -A INPUT -p tcp --destination-port 3306 -j ACCEPT
ufw
Wenn Sie ufw verwenden, um Port 3306 zu öffnen, können Sie einfach den folgenden Befehl ausführen:
$ sudo ufw allow 3306/tcp
Schlussfolgerung
Sie haben bereits die Einzelheiten zum Zulassen von Remote-Verbindungen zu einem MySQL-Server durchgegangen.
Wenn Sie Bedenken haben, lassen Sie es mich bitte wissen. Danke fürs Lesen.