Zum Inhalt springen

Einrichten eines Hetzner-Servers – MariaDB

MariaDB ist ein relationales Datenbanksystem. Es stammt vom gleichen Entwickler wie das bekannte MySQL und ist mit diesem sehr kompatibel. Der größte Unterschied ist die Lizenz: MariaDB ist in allen Fassungen open source. MariaDB ist in Ubuntu enthalten.

Die Installation ist ein klein wenig tricky. Das liegt daran, dass aktuelle Anleitungen immer irgendeine Kleinigkeit verschweigen. Bei mir hat folgendes funktioniert:

apt install mariadb-server

Das installiert die Binaries und ein paar Abhängigkeiten. Ich möchte die Dateien nicht in /var/lib/mysql, sondern in /mysql haben, schließlich habe ich eigens dafür eine Partition eingerichtet. Nach der ersten Installation ändere ich in /etc/mysql/mariadb.conf.d/50-server.cnf datadir entsprechend. Nun muss – das verschweigt apt – ein Skript zum Anlegen der Systemtabellen laufen. Der Befehl lautet mariadb-install-db. Auch hier gibt es einen kleinen Trick. Wenn man den Befehl als root mit der Option –user mysql ausführt, wonach der Befehl EIGENTLICH als User mysql laufen SOLLTE, wird ein tmp-Verzeichnis genutzt, das root gehört und in das mysql nicht schreiben darf. Was funktioniert:

sudo -u mysql mariadb-install-db --user mysql --datadir /mysql

Vor dem Start noch eine Änderung: MariaDB – wie schon MySQL – kann an keine, eine oder alle IPs des Servers gebunden werden. Ob je ein Zugriff von außen auf diese Datenbank nötig sein wird, weiß ich im Moment nicht, ich glaube nicht so richtig daran. Also möchte ich den Zugriff auf localhost beschränken. bind-address 127.0.0.1 würde aber die IPv6-Adressen abschalten. Also kommentiere ich diese Zeile in /etc/mysql/mariadb.conf.d/50-server.cnf aus. Zum Glück haben wir in der Firewall alle Ports geschlossen, die nicht ausdrücklich geöffnet sind. Sonst könnte jetzt jeder auf jeder Adresse des /64 auf die noch ungesicherte Datenbank zugreifen.

Weitere wichtige Sicherheitsänderungen (root bekommt ein Password, anonyme User und Testdatenbanken werden entfernt) bringt das Skript  mariadb-secure-installation.

Ein winzig kleiner Wermutstropfen kommt hier noch hinein: Im aktuellen Zustand ist keine SSL-Absicherung mit Let’s Encrypt möglich. Die soll automagisch erfolgen, und dafür brauchen wir einen Webserver. Das ist aber alles kein Problem, weil wir ja im Moment keine Zugriffe von außen zulassen. Solange Port 3306 zu ist, wird dieses Problem vertagt.

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.