MariaDB auf Synology Diskstation im LAN

14. März 2024 0 Von rsr

MySQL/MariaDB ist standardmäßig nur per localhost ansprechbar. Um im LAN auf MySQL/MariaDB zuzugreifen, dass auf einer DiskStation von Synology läuft, muss der Zugriff im LAN erlaubt werden und ein anderer Benutzer als root eingerichtet werden.

Prinzipiell gilt diese Anleitung analog auch für andere Installationen, wenn MySQL/MariaDB nicht auf localhost läuft.

Zunächst loggen wir uns per SSH auf der DS ein, hierzu muß in der Systemsteuerung unter Terminal und SNMP SSH aktiviert sein. Dann mittels PuTTY, dem Bitvise SSH Client oder einem anderem SSH Client der Wahl unter Windows bzw. auf der Console unter Linux auf der DS an melden. User ist ein Admin-User der DS mit entsprechendem PW. Wenn man eingeloggt ist nochmal sudo -i und das Admin-PW nochmals eingeben.

Dann prüfen, ob MySQL/MariaDB mittels 0.0.0.0 an alle Netzwerkeschnittstellen gebunden ist:

more /volume1/@appstore/MariaDB10/usr/local/mariadb10/etc/mysql/my.cnf | grep bind-address 

MySQL/MariaDB Port prüfen, bei MySQL 3306, bei MariaDB 3307:

more /var/packages/MariaDB10/etc/my_port.cnf

Außerdem sollte skip_networking auf 0 stehen:

more /var/packages/MariaDB10/etc/synology.cnf

Dann auf der DB einloggen und die vorhandenen Benutzer ansehen:

/volume1/@appstore/MariaDB10/usr/local/mariadb10/bin/mysql --user=root --password --host=localhost
SELECT User, Host FROM mysql.user;

Jetzt legen wir einen neuen Admin-User an, dessen Zugriff auf das LAN begrenzt ist, ersetze User, LAN und Passwort entsprechend:

CREATE USER 'meinadminuser'@'192.168.1.%' IDENTIFIED BY 'meinsupergeheimespasswort';
GRANT ALL PRIVILEGES ON *.* TO 'meinadminuser'@'192.168.1.%' WITH GRANT OPTION;
exit

Das war’s. Jetzt sollte ein ODBC Zugriff möglich sein. Zur Sicherheit das SSH auf der DS wieder deaktivieren.