Author Topic: Einrichten von mAirListDB auf einer mySQL-Datenbank im NAS  (Read 68 times)

Tondose

  • Newbie
  • *
  • Posts: 53
    • View Profile
    • Email
Einrichten von mAirListDB auf einer mySQL-Datenbank im NAS
« on: January 14, 2019, 10:37:50 »
Liebe Freunde der gepflegten Ausspielung,

das Wochenende hat mir einige erhellende Einsichten in Sachen mAirList gebracht. Ihr mögt Euch erinnern: Ausgangspunkt war mein Datenbank-Thread, in welchem ich ein wenig militant von Dingen wie mAirListDB oder einem dezidierten Windows-Rechner für mAirList nichts wissen wollte.

Nun, so ein Wochenende ist lang, und ich bin um einige Erkenntnisse reicher. Vielen Dank, Torben, für den Tip, ein wenig abzuwarten, bis die Datenbank sich endlich übertragen/eingelesen/verflüssigt oder sonstwas haben möge. Die Antwort ist … nein. Selbst, wenn sich die ganze Apparatur irgendwann wieder zu arbeiten entscheiden sollte, so sind solche Antwortzeiten in der Praxis völlig unbrauchbar. Es muß also ein anderes Konzept her.

So lag es in erster Linie in meiner Unwissenheit begründet, daß ich mAirListDB so pauschal ablehnte. Ich ging davon aus, daß ich meine ganzen (zigtausende) Audios dann doppelt und parallel speichern und verwalten müßte. Weit gefehlt! mAirListDB kann sich auf die vorhandene Ordnerstruktur (in meinem Falle eben die von iTunes) einstellen und schaut lediglich drauf, ohne die eigentlichen Audios auch nur anzurühren. Gut!

Im Laufe dieses Wochenendes bin ich dahintergestiegen, wie man die Datenbank auf einem NAS einrichtet und habe jetzt einen flinken Zugriff auf meine kompletten Audios. Was will man mehr? Nun, vielleicht eine selbst zu bestimmende Art und Weise, wie die gesamte Datenbankstruktur für den Zugriff aufbereitet wird (z. B. sortieren nach Komponisten oder dergleichen). Aber wahrscheinlich habe ich mich dahinein nur noch nicht genug eingefuchst.



Weil das Tutorial im Wiki an dieser Stelle Lücken aufweist, schreibe ich hier mal nieder, wie die Einrichtung einer mAirList-Datenbank auf dem NAS bei mir schließlich geklappt hat und welche Fährnisse dabei gegebenenfalls umschifft werden müssen.

Ausgangssituation bei mir ist eine Synology-Diskstation, auf der die iTunes-Datenbank mit sämtlichen Audios liegt. Es soll aber nicht diese mit mAirList verbunden werden, weil die ja, zumindest bei nennenswertem Umfang, so zäh läuft. (Das liegt an der Apple-immanenten sehr proprietären Datenbankstruktur.) Die mAirlist-eigene Datenbank soll auf den (in Ruhe zu lassenden) Speicherort der Audios schauen und selber ebenfalls auf der Diskstation untergebracht sein.

Im einzelnen waren folgende Schritte zu tätigen – ich hoffe, ich habe keinen vergessen:

  • libmysql.dll herunterladen, und zwar hier oder hier. Der Download bei mysql.com zeitigte bei mir keine verwertbaren Ergebnisse. Bitte die 32bit-Version benutzen. Diese auf dem mAirList-Rechner in das Verzeichnis kopieren, in welchem sich mairlist.exe befindet.

  • Auf dem NAS den SQL-Server installieren. Zumindest für Synology-NASs (-NÄSse?) in Zusammenarbeit mit nur durchschnittlich administrativ begabten Nutzern (wie z. B. mich!) bietet sich hier MariaDB an, das ist im wesentlichen das gleiche wie mySQL. Es gibt zwar eine Möglichkeit, PostgreSQL auf der Diskstation zu installieren, aber die wollt Ihr durchschnittlich begabten Admins gar nicht wissen. (@Torben: Du schreibst hier irgendwo, PostgreSQL sei den mySQL/MariaDB-Lösungen vorzuziehen. Worin genau begründet sich diese Empfehlung, jetzt mal ganz vom Anwender und nicht vom Entwickler her gesehen?)


  • So, jetzt kommt man zur ersten Hürde: Es gibt („Stand jetzt“, Januar 2019) zwei MariaDB-Versionen: MariaDB 5 und MariaDB 10. Jetzt bitte nicht vorausschauend denken und vorsorglich die höhere Version installieren: Version 5 ist das Mittel der Wahl! (Was Ihr nicht zu wissen braucht: V5 horcht auf Port 3306, Version 10 auf 3307. mAirlist fragt aber routinemäßig auf 3306 an, wird also alles andere nicht finden. @Torsten: Könnte man nicht [wie z.B. in HeidiSQL] eine Möglichkeit [versteckt unter „Erweitert“] vorsehen, die Portanfrage anzupassen? Oder gibt es bestimmte Gründe, V10 auszuschließen? Wenn ja, wäre es schön, darüber etwas lesen zu können.)


  • Also MariaDB 5 herunterladen und einrichten, das geht schnell, man muß nur ein Paßwort für den „root“-Benutzer bestimmen.

  • Sicherstellen, daß die Firewall der Diskstation Anfragen über Port 3306 zuläßt.

  • Nun muß eine Datenbank und der zugehörige Benutzer erstellt werden. Der durchschnittlich begabte Admin (also z. B. ich!) nehme dazu das Programm „phpMyAdmin“, welches dazu ebenfalls als Paket auf dem NAS installiert wird.


  • Mit dem Benutzer „root“ und dessen soben vergebenen Paßwort anmelden und hierin einen neuen Benutzer der Datenbank erstellen, vielleicht nennen wir ihn „mairlist“ (mein Gott, wie originell!), und das ganze am besten ohne alle Binnenmajuskeln. Diesem sollte Zugriff von beliebigen Clients aus („%“) gewährt werden. Er bekommt ein schönes Paßwort nach Wunsch und, und das ist wichtig, eine eigene Datenbank – der Einfachheit halber gleichen Namens: „mairlist“. (Die Namensgleichheit ist nicht zwingend notwendig, aber wir wollen doch, daß es hinterher funktioniert.) Diese Erstellung der Datenbank kann ein wenig tiefer auf der Benutzereinrichtungsseite bewirkt werden. Dem Benutzer „mairlist“ Zugriffsrechte zum Schreiben und Verändern der Datenbank (nicht zur Administration) gewähren (die ersten beiden Spalten mit Benutzerrechten anhaken).


  • Auf der Diskstation war’s das jetzt erstmal, nun geht es ab in die mAirList-Konfiguration: Datenbank --> Hinzufügen --> Networked (MySQL). Im folgenden Dialog als Host die IP-Adresse der Diskstation im heimischen Netzwerk einstellen, und zwar ohne „http://“ und ähnliche Spitzfindigkeiten, einfach nur „192.168.xx.yy“, oder wie eben Euer Intranet aufgebaut ist. 
Dazu auch den Namen der soeben erstellten Datenbank („mairlist“), den Benutzernamen („mairlist“) und dessen Paßwort eintragen.

  • Jetzt wird’s spannend: Bitte „Login prüfen“. Wenn es Fehlermeldungen gibt, zunächst mal schauen, ob die Firewall der Diskstation (und/oder Eure hauseigene) den Zugriff überhaupts zuläßt. Und prüfen, ob die libmysql.dll im richtigen Verzeichnis (s.o.) gelandet ist. Im Idealfall kommt eine „ja, aber“-Meldung: Zugriff erfolgt, aber die Datenbank hat blablabla…


  • Dies ist soweit in Ordnung und liegt daran, daß unsere frische Datenbank noch keinerlei Struktur besitzt. Also in der mAirList-Konfiguration den Riesenbutton „Datenbankstruktur übertragen“ (oder so ähnlich, ich schreibe das hier aus dem Kopf) drücken (und wieder loslassen!) und ein wenig zuwarten, mAirlist meldet sich, wenn die Übertragung erfolgt ist.

  • Nun in mAirList die Datenbank verbinden. Im Datenbankprogramm (Button „Datenbank“ drücken) unter „Konfiguration“ den Speicherort (oder mehrere) bestimmen. Hier also der Ordner auf dem NAS, der die Audios enthält. Natürlich muß dieser Pfad vorher in Windows als Netzlaufwerk verbunden worden sein. Dazu ist es zweckmäßig, auf NAS-Ebene noch einen User angelegt zu haben, der ausschließlich auf den Audio-Ordner zugreifen darf (lesend wie schreibend).


  • Datenbank synchronisieren. Je nach deren Umfang ist es jetzt Zeit für ein oder mehrere Bierchen (oder ähnliches) und ein gerüttelt Maß an Geduld.

Und damit sollte die Verdatenbankung an und für sich funktionieren, sogar in der Windows-Emulation auf dem Mac.


Konfigurierte Grüße

TSD

Torben

  • Administrator
  • Doktor mAirList
  • *****
  • Posts: 17140
    • View Profile
Re: Einrichten von mAirListDB auf einer mySQL-Datenbank im NAS
« Reply #1 on: January 14, 2019, 11:02:09 »
Aus Anwendersicht besteht der größte Nachteil an MySQL gegenüber PostgreSQL, dass das Rollensystem (und damit der Mehrbenutzerbetrieb mit Benutzerstufen) nicht funktioniert.

Was den Port angeht, den kann man in der Konfiguration der DB-Verbindung auf dem Reiter "Erweitert" angeben, dort gibt es ein Feld für zusätzliche SQL-Optionen, wo man einträgt: Port=3307

Tondose

  • Newbie
  • *
  • Posts: 53
    • View Profile
    • Email
Re: Einrichten von mAirListDB auf einer mySQL-Datenbank im NAS
« Reply #2 on: January 14, 2019, 11:16:57 »
Aha, das leuchtet mir ein. Danke!


Erhellte Grüße

TSD

shorty.xs

  • Regular
  • *
  • Posts: 1481
  • 6.1.9 Home / PRO mit mAirListDB Serv. PostgreSQL
    • View Profile
    • Radio-Zoom Webradio mal anders. Wir sind einfach näher dran.
Re: Einrichten von mAirListDB auf einer mySQL-Datenbank im NAS
« Reply #3 on: January 15, 2019, 10:21:43 »
Der Ablauf passt auch zu den NAS System der Firma QNAP. Dort ist MySQL schon vorinstalliert und der Zugriff braucht nur aktiviert werden, genau so wie der Webserver zur Ausführung von PHPmyadmin. Es gibt entsprechende Dokumentation, beim Hersteller.
http://docs.qnap.com/nas/4.3/cat1/de/index.html
http://docs.qnap.com/nas/4.3/cat1/de/index.html
Sollte PHPmyadmin nicht vorinstalliert sein, so kann man das über den AppCenter einfach installieren (Internetverbindng vorausgesetzt). Wird auf der MySQL Konfigurationsseite auch drauf hingewiesen.

Synology und QNAP sind in dem Feld direkte Wettbewerber und stellen ähnliche Funktionen zur Verfügung.
So ist der Einrichtungsprozess in etwa analog bei beiden Systemen.
PostgreSQL war mal als App verfügbar wird anscheinend aber nicht weitergepflegt, da hätte ich höchstens ein paar Tips, für den etwas fortgeschrittenen Admin, darum lasse ich das hier mal weg.
In meinem Studio zu Hause nutze ich nur die lokale DB (da stünde das QNAP NAS), auf unserem Automationsserver PostgreSQL in einem Linux Container.
Software macht nicht das was Du möchtest, nur das was Du einstellst.