MariaDB-Server remote erreichbar machen

16. Mai 2021 · Anwendungen · andreas · Kein Kommentar

Im abgeschotteten Intranet manchmal ein zeitsparender Faktor bei der Entwicklung, sollte man sich trotzdem genau überlegen, ob man Verbindungen von Systemen außer localhost zulassen möchte.

Auf einem Debian 10-System muß zuerst die Datei “50-server.cnf” im Verzeichnis “/etc/mysql/mariadb.conf.d/” angepasst werden:

$ cd /etc/mysql/mariadb.conf.d/ $ sudo vi 50-server.cnf

In der Datei dann die Zeile beginnend mit “bind-address” suchen und wie folgt ändern:

/etc/mysql/mariadb.conf.d/50-server.cnf
... bind-address = 0.0.0.0 ...

Diese Änderung bewirkt, daß der Server ab sofort über alle verfügbaren Netzwerkinterfaces erreichbar ist. Anschließend wird der Dienst neu gestartet:

$ sudo systemctl restart mariadb

Als nächster (und letzter) Schritt muß noch ein Benutzer für den externen Zugriff angelegt werden:

$ sudo mysql -u root MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'remote'@'%' IDENTIFIED BY 'remotepassword'; Query OK, 0 rows affected (0.001 sec) MariaDB [(none)]> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.001 sec) MariaDB [(none)]> EXIT Bye

Anschließend kann von beliebigen Quelladressen mit dem Benutzer “remote” auf alle Datenbanken zugegriffen werden. Sinnvollerweise sollte man die Berechtigungen nicht so weitreichend vergeben, sondern auf einzelne Datenbanken (“Datenbank.*”) und Rechner (‘remote’@‘1.2.3.4’) beschränken.