MySQL / MariaDB Verbindung von Außen erlauben
Einleitung
In diesem Beitrag gehe ich kurz darauf ein, wie wir auf unserem Linux Server, auf dem MySQL oder MariaDB läläuft, Verbindungen von AußAußen zulassen. Dies benöbenötigen wir z.B. wenn wir eine Applikation nutzen wollen, die auf einem anderen Server läläuft als unsere Datenbank. DafüDafür mümüssen wir eine Konfigurationsdatei editieren.
Bedenke: Eine EröEröffnung von neuen Wegen zum Zugriff auf Server stellen immer neue Sicherheitsrisiken dar! Stelle sicher das dass du dir dem Risiko bekanntbewusst ist!bist!
MySQL
Um in MySQL Verbindungen von AußAußen zu erlauben, mümüssen wir die Konfigurationsdatei mit einem Editor unserer Wahl ööffnen. Ich verwende dazu nano. Dieser ist auf fast allen Linux Distributionen vorinstalliert und lälässt sich sehr leicht verwenden.
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Dort mümüssen wir den Punkt bind-address finden. Dort mümüsste aktuell die localhost Adresse (127.0.0.1) stehen. Diesen Wert äändern wir auf 0.0.0.0, um von allen Servern den Zugriff zu erlauben. MöMöchten wir aber, dass der Zugriff nur von einem bestimmten Server mömöglich sein soll, setzen wir dort die IP-Adresse des Servers ein.
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 0.0.0.0
Zum Schluss mümüssen wir nur noch den MySQL Service neu starten. Danach sollte eine Verbindung mömöglich sein.
sudo systemctl restart mysql
MariaDB
In MariaDB funktioniert das fast genauso wie in MySQL. Es veräverändert sich lediglich nur die Konfigurationsdatei, die wir ööffnen und editieren mümüssen. Ich verwende hier wieder nano, um die Konfigurationsdatei zu ööffnen.
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Bei dieser Datei mümüssen wir auch den Punkt bind-address finden und diese dann auf die IP-Adresse 0.0.0.0 setzen. NatüNatürlich kökönnen wir hier auch wieder die IP-Adresse des Servers eintragen, welcher Zugriff auf den SQL Server haben soll.
Im Anschluss starten wir auch den MySQL Dienst wieder neu.
sudo systemctl restart mysql