In diesem Artikel wird kurz erläutert wie wir den MySQL / Maria Server so anpassen, dass sich Benutzer Remote mit der Datenbank verbinden können. Mit den Standardeinstellungen können sich nur Benutzer vom Datenbankserver selbst verbinden.
Da sich Anwendungen in der Regel auf dedizierten Hosts laufen, müsste eine entsprechende Remoteverbindung eingerichtet werden.
Info: Eine Öffnung von neuen Wegen für den Zugriff auf den Server stellt immer ein Sicherheitsrisiko dar! Stelle bitte sicher, dass du dir dem Risiko bewusst bist und entsprechende Sicherheitsmechanismen umgesetzt wurden.
Durchführung
MySQL
Um in MySQL Verbindungen von Remote zu erlauben, müssen wir die Konfigurationsdatei mit einem Editor unserer Wahl öffnen.
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Dort müssen wir die Einstellung bind-address
finden. Als Wert müsste hier die localhost Adresse (127.0.0.1) stehen. Diesen Wert müssen wir auf 0.0.0.0 ändern. Damit erlauben wir allen Servern (egal welche IP-Adresse) sich mit diesem Datenbankserver zu verbinden. Wir können wahlweise hier auch nur eine IP-Adresse eines bestimmten Servers hinterlegen, falls wir hier die Zugriffe steuern möchten.
#
# 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
Im Anschluss muss einmal der MySQL-Dienst neu gestartet werden. Nach einem Neustart sollte eine Remoteverbindung mit einem vorhandenen Benutzer möglich sein.
sudo systemctl restart mysql
MariaDB
In MariaDB funktioniert das prinzipiell genauso wie in MySQL. Es ändert sich lediglich nur die Konfigurationsdatei, die wir öffnen und editieren müssen. Wir müssen hier dann die folgende Datei anpassen:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
In dieser Datei müssen wir auch wieder den Punkt bind-address
finden und die IP-Adresse auf die entsprechende IP-Adresse festsetzen. Nach einem Neustart des MySQL-Dienstes sollte hier auch ein Login über eine Remoteverbindung möglich sein.