Gemeinsam genutzte MySQL Datenbank auf einer Synology DiskStation

  • Lösch einfach die DBs und lass - wie im Tutorial beschrieben - XBMC selbst die DBs anlegen. Dann gibt es auch keine Schwierigkeiten. Wenn doch, poste dein Log mit aktiviertem Debugging.

    Hallo,

    sorry, dass ich mich erst jetzt zurück melde, aber ich hatte leider noch keine Zeit, um mich wieder in das Thema rein zu arbeiten. Die beiden neu angelegten Datenbanken hatte ich gelöscht, aber meine Thumbnails scheint er trotzdem nicht zu finden. Es ist so, als sei meine Datenbank leer.

    Hier einmal der Link zu meinem Log mit aktiviertem Debugging:

    http://xbmclogs.com/show.php?id=63258

  • Servus,

    ich habe jetzt mich auch daran versucht die Datenbank auf mein neues NAS (DS414) auszulagern. SQL habe ich installiert, Datenbank und so auch angelegt. Jetzt habe ich die [definition='2','1']advancedsettings[/definition].xml nach ~/Library/Application Support/XBMC/userdata/[definition='2','1']advancedsettings[/definition].xml kopiert, aber es klappt nicht. Er greift nicht aufs NAS zu, sondern legt die Datenbank immer lokal ab.
    Habt ihr ne Idee, was ich falsch geamcht haben könnte? Die IPs etc. habe ich angepasst.

  • Sorry, dass ich hier einfach dazwischen-poste, aber ich habe ein kleines Problem mit meiner Datenbank.

    Was nutze ich:
    QNAP TS-212 mit MySQL Server Version: 5.1.36
    XBMC 12.3 unter Windows 7 auf ner Zbox
    XBMC 12.2 unter Android 4.2.2 auf ner Android-Box
    XBMC 12.3 auf Galaxy Tab 3 (zum Testen)
    Verbunden ist alles bis auf das Tab über LAN

    Was ich bereits gemacht habe:

    - NFS-Freigaben eingerichtet (erfolgreich überall getestet)
    - Alle Clients haben dieselbe advanced-settings.xml und sources.xml
    - MySQL-Datenbank eingerichtet
    - XBMC-Thumbnail-Ordner mit rw auf dem QNAP eingerichtet (selber Ordner wie die Video- und Music-Files)

    Was ist mein Problem?
    Ich habe einen ersten Scrape mit dem Tablet durchgeführt.
    Die Datenbank ist jetzt wunderbar gefüllt (music32, video75).
    Ebenfalls hat sich mein Thumbnail-Ordner auf dem NAS gut gefüllt.

    1. Auf dem Tablet werden ALLE Einträge auch mit Poster/Fanart/Banner dargestellt
    2. Siehe Screenshots: Auf dem PC werden ALLE Einträge dargestellt, allerdings NUR bei den Filmen teilweise ohne Poster/Fanart/Banner. Es scheint kein Verbindungsproblem zu sein, da immer dieselben Einträge betroffen sind. Wenn man z.n. ein Poster manuell ändern will, bleibt am PC alles schwarz, auf dem Tablet wird allerdings ein anderes Bild angezeigt. Ganz frisch mit dem Tablet gescrapte Filme tauchen auf dem PC auch korrekt auf.
    3. Auf der Android-Box sind alle Einträge vorhanden, allerdings gänzlichst ohne Thumbnails. (Die Box ist mir aber auch erstmal egal)

    Externer Inhalt abload.de
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.

    Externer Inhalt abload.de
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.

    Habt ihr ne Idee wodran das liegen könnte? Ist die Datenbank zu groß? (274 Filme, 50 Serien mit insg. ca. 4000 Folgen)

    Edit: ich werde das Gefühl nicht los, dass es sich um ein lokales Problem mit dem Client handeln könnte :-/

    2 Mal editiert, zuletzt von Nilz (26. Dezember 2013 um 14:11)

  • Schau dir mal das Texture Cache Utility an. Ist zwar nicht so toll, das man das extra nutzen "muss", aber seit dem habe ich mit Frodo keine Probleme mehr. Ich verwalte die Datenbank am Mac und nutze dann das Utility für Win7 HTPC und ATV2 lediglich mit der "c" Option, also ./texturecache.py c
    Wenns mal richtig klemmt, lösche ich die Textures.db am betroffenen Client und nutze das Tool erneut. Kommt aber fast nie vor, starte es gewöhnlich nur dann, wenn ich einen Batzen neuer Dateien hinzugefügt habe. Da ich keine Lust hatte, für Windows extra Python zu installieren, mounte ich den XBMC Ordner am Mac und lasse das Tool von dort laufen.

  • Hey Ben, danke für die schnelle Antwort, trotz der Feiertage.
    Ich bin noch in der Vorbereitung für die Verwendung, Näheres folgt (hoffentlich) gleich.
    Lässt du das Tool bei jedem XBMC-Start durchlaufen, oder nur, wenn du mal Probleme hast?
    MfG

    Edit: Python installiert, texturecache.py runtergeladen. Wo muss die Datei denn zur Ausführung hin? :D Sorry hab noch nie mit Python gearbeitet

    Einmal editiert, zuletzt von Nilz (26. Dezember 2013 um 14:49)

  • Wo die liegt ist egal. Wichtig ist, dass die Datei ausführbar ist (Linux/Mac chmod +x) und deine Config Datei passt. Bei mir sieht das z.B. so aus:

    ep = |
    userdata = /Volumes/XBMC/userdata/
    dbfile = Database/Textures13.db
    thumbnails = Thumbnails/
    xbmc.host = 192.168.100.40
    webserver.port = 8080
    rpc.port = 9090
    download.threads = 2
    extrajson.albums =
    extrajson.artists =
    extrajson.songs =
    extrajson.movies =
    extrajson.sets =
    extrajson.tvshows.tvshow =
    extrajson.tvshows.season =
    extrajson.tvshows.episode=
    qaperiod = 30
    qa.file = no
    cache.castthumb = no
    logfile =
    logfile.verbose = no
    network.mac =

    Da ich den HTPC mounte, ist das Verzeichnis eben /Volumes/XBMC/userdata

  • Sorry, da komme ich mit meinen Kenntnissen nicht mit.
    Soll das Script lokal oder auf die Datenbank auf dem NAS zugreifen?

    Bei ersterem: XBMC liegt unter C:\Program Files (x86)\XBMC\userdata
    Bei letzterem: Thumbnail-Ordner auf dem NAS mit NFS ist unter NFS:\\192.168.178.32\Multimedia\XBMC\

  • Wo das Script letztenendes liegt, ist egal. Es muss ausführbar sein (chmod +x) und Python muss laufen. Wichtig ist, dass du die Config Datei angleichst. Wenn du das Script auf dem NAS liegen hast, gibst für Thumbnails eben den lokalen Thumbnail Pfad an. Du musst deinen XBMC Ordner des Clients mounten, und gibst den Pfad hierfür dann auch in der Config an.

    Bsp:
    userdata = /mnt/win7/XBMC/userdata (Mountpfad für deinen Client)

    dbfile = Database/Textures13.db (hier wird schon auf die erste Zeile zugegriffen, das passt also)
    thumbnails = /volume1/xbmc/thumbs (Thumbnail Verzeichnis auf der Syno)


    Hinweis: Zentrale Thumbnails werden unter Frodo nicht benötigt und sind auch nicht empfohlen, man bremst sich damit selber aus. Persönlich habe ich keine großen Einbußen bemerkt, aber ich habe die Pathsubstitution dennoch gekickt.


    Wenn du verschiedene Clients hast, brauchst du auch verschiedene Configs. Ich hab z.B. drei Ordner für das Script: MacBook, HTPC, AppleTV und starte die jeweils einzeln wenn benötigt. Ob und wie man Pfade von deiner Android Box bzw. dem Galaxy Tab mounten kann, weiss ich nicht, aber vielleicht lässt sich da ja Python auch lokal installieren? Beim AppleTV z.B. geht das, da brauch ich nicht zwingend das MacBook um das Script laufen zu lassen.

  • Hi Ben,

    ich wollte mir demnächst auch die DB auf meinen syno auslagern.
    Bin ehrlich habe jetzt nur die letzte seite gelesen... aber ist das tut auf der seite 1 noch aktuell oder gibt es bereits einfachere wege oder anderes zu beachten ?
    Will eigendlich nur meine db`s, sources, [definition='2','1']advancedsettings[/definition] und die [definition='3','0']keymap[/definition] anlegen (Thumpnails hab ich eben aufgeschnappt wären nicht merh von Nöten ?

    Grade auf einem PI wie er demnächst ins Schlafzimmer soll wäre es doch sinnvoll wenn er die thumpnails vorliegen hätte oder ?

    Würde mich freuen wenn ich ein kurze Info vorab haben könnte.

    lg

    Client1: ML03B|GA-A75M-UD2H|MSI R5450|A4-3400 2x2.70GHz|8GB DDR3-1600|LE 7.0.2
    Client2:RPI2|LE 7.0.2
    NAS 1: DS211J
    NAS 2: Define Nano S|ASRock H110M|G4560 2x 3.50GHz|8GB|OMV 3.x|Emby Server 3.x
    SKIN: Estuary.Refresh
    Display: Samsung 55 Zoll
    PVR: VU Duo 2|3TB
    FB: Harmony 600
    Amp: OnkyoTX626
    Center VOKAL
    Front: ZENZOR5
    Surround: ZENZOR1

  • Die erste Seite ist noch aktuell, lediglich das Auslagern der Thumbs kann man sich sparen. Gerade bei den langsameren Geräten ist das "neue" Caching von Frodo schon schneller, wenn auch nicht ausgereift - sonst würde es Tools wie das Texture Cache Util nicht geben. Bin gespannt ob da mit Gotham etwas verändert/verbessert wurde, fürchte jedoch, das man sich aufgrund der Tatsache, dass MySQL früher oder später fallen gelassen wird, da nicht sonderlich viel Arbeit reingesteckt hat.

    Persönlich bin ich immer noch der Meinung, dass das neue Caching System nur bei Einzel-XBMCs sinnvoll ist. Bei mehreren Clients war das "Handling" unter Eden doch um einiges pflegeleichter und wahrlich schnell genug - trotz Pathsubstitution. Da die Problematik den XBMC Entwicklern bekannt ist, finde ich es umso trauriger, dass man hier nicht nachsteuert oder per [definition='2','0']as.xml[/definition] das Verhalten des Bilder Caches steuern kann. Sprich: Option 1 "Frodo Style" oder Option 2 "Eden Style" - so irgendwie.

  • Danke Ben!
    Na dann mach ich das bei Zeiten mit dem ersten post
    :thumbup:

    wie meinst du das mit fallen gelassen ?
    Meinst Du das es MySQL in Zukunft nicht mehr geben wird in XBMC?
    Ist doch für Leute die mehrere Clienten gleich halten wollen genau das richtige!
    Was soll es denn dann stattdessen geben ?

    Client1: ML03B|GA-A75M-UD2H|MSI R5450|A4-3400 2x2.70GHz|8GB DDR3-1600|LE 7.0.2
    Client2:RPI2|LE 7.0.2
    NAS 1: DS211J
    NAS 2: Define Nano S|ASRock H110M|G4560 2x 3.50GHz|8GB|OMV 3.x|Emby Server 3.x
    SKIN: Estuary.Refresh
    Display: Samsung 55 Zoll
    PVR: VU Duo 2|3TB
    FB: Harmony 600
    Amp: OnkyoTX626
    Center VOKAL
    Front: ZENZOR5
    Surround: ZENZOR1

  • Das ist eine gute Frage, habe nur an mehreren Stellen gelesen, dass MySQL auf kurz oder lang nicht weiterentwickelt werden soll. Wie sich eine geteilte Datenbank anders realisieren lässt, weiß ich ehrlich gesagt nicht. UPnP wäre sicher eine Möglichkeit, aber dafür braucht es dann eine headless XBMC Version. Denke mal, dass ist alles noch Zukunftsmusik, vielleicht weiß mad-max: da ja mehr? Solange es für jedermann möglich sein wird auch ohne MySQL die Datenbanken zu teilen, ist mir alles recht. Mag deswegen nur nicht extra neue HW anschaffen müssen ;)

  • Danke Ben für deine Hilfe, ich habe mich aber jetzt doch für folgende Variante entschieden:

    1. Die Datenbank bleibt zentral mit MySQL auf dem NAS.
    2. Die Thumbnails werden lokal von jedem einzelnen Client gespeichert (pathsubsitution rausgenommen).

    Läuft wunderbar :)

  • Hallo zusammen,

    interessanter Threat, den ich gerne aufgreifen würde...

    Zunächst einmal: Ich bin neu hier. habe hier schon viel gelesen und gelernt, jedoch scheitere ich im Moment am Auslagern der Datendank auf mein Synology NAS.

    Sollte der Beitrag hier falsch liegen, so bitte ich um Entschuldigung und ein verschieben - danke!

    Raspbmc läuft so weit in der letzten Version, ich kann auch auf meine Videos etc welche auf einem Synology-NAS liegen per WLAN und NFS zugreifen.

    Nun habe ich überlegt ob ich die Dantebnka ebenfalls auf das NAS schiebe. Folgende Überlegungen habe ich dazu:

    1. Ist es so dass sämtliche Scraping-Daten dann nicht mehr auf dem pi liegen, sondern auf dem NAS?
    Hintergrund ist, dass ich mein raspbmc nun schon ein paar mal neu installieren musste und die ganzen Images, Fanarts etc. neu herunterladen musste. Da ich nur eine schwache bzw. volumenbegrenzte Internetverbindung habe, möchte ich dies ungern bei jeder Neuinstallation widerholen.
    Wenn ich das richtig verstehe, erübrigt sich das wenn ich die Datenbank auf dem NAS liegen habe (nach der Neuinstallation einfach die [definition='2','1']advancedsettings[/definition].xml auf den pi spielen und schon sollte sich der pi die Bilder etc. vom NAS holen)!?

    2. Momentan habe ich eine frische Installation von raspbmc auf dem pi vorliegen. Es wurde noch nichts gescrapt und auch keine Laufwerke eingebunden.
    Sollte ich nun die [definition='2','1']advancedsettings[/definition].xml auf raspbmc einbinden, die Laufwerke einbinden und dann scrapen lassen? Meinem Verständnis nach, sollte dann die Datenbank und alles auf das NAS angelegt werden?!

    So weit meine Überlegungen.

    Folgendes habe ich nun schonmal versucht:

    Ich habe mir auf meinem Synology mysql aktiviert und hab nen User angelegt.
    Den User habe ich xbmc genannt und auch ein Kennwort angelegt. Der User hat Vollzugriff. Sollte eigentlich so weit passen.

    Außerdem habe ich auf dem NAS bei SMB einen Ordner angelegt, für alle frei gegeben und diesen "xbmcthumbnails" genannt. Über meinen Mac und auch per Windows komm ich auf diesen Ordner und kann Datein erstellen, löschen etc.

    Nun muss ich ja noch die Advancedsettings.xml erstellen und auf dem Raspberry einspielen. Dies habe ich folgendermaßen gemacht:

    [size=small]<[definition='2','1']advancedsettings[/definition]>[/size]

    [size=small]<videodatabase>[/size]

    [size=small]<type>mysql</type>[/size]

    [size=small]<host>"IPdesNAS"</host>[/size]

    [size=small]<port>3306</port>[/size]

    [size=small]<user>xbmc</user>[/size]

    [size=small]<pass>"kennwort"</pass>[/size]

    [size=small]<name>xbmc_video</name>[/size]

    [size=small]</videodatabase>[/size]

    [size=small]<musicdatabase>[/size]

    [size=small]<type>mysql</type>[/size]

    [size=small]<host>[size=small]"IPdesNAS"[/size]</host>[/size]

    [size=small]<port>3306</port>[/size]

    [size=small]<user>xbmc</user>[/size]

    [size=small]<pass>"kennwort"</pass>[/size]

    [size=small]<name>xbmc_music</name>[/size]

    [size=small]</musicdatabase>[/size]

    [size=small]<pathsubstitution>[/size]

    [size=small]<substitute>[/size]

    [size=small]<from>special://masterprofile/Thumbnails/</from>[/size]

    [size=small]<to>smb://[size=small]"IPdesNAS"[/size]/xbmcthumbnails/</to>[/size]

    [size=small]</substitute>[/size]

    [size=small]</pathsubstitution>[/size]

    [size=small]</[definition='2','1']advancedsettings[/definition]>[/size]

    Natürlich habe ich alles was in "" steht korrekt ausgefüllt...

    Diese Datei habe ich dann per FTP auf den Raspberry in /home/pi/.xbmc/userdata kopiert.

    Danach habe ich raspbmc neu gestartet, einen Testordner mit 5-6 Filmen eingebunden und den scraper laufen lassen. Es wurden bei einigen Filmen die Bilder etc gefunden und auch eingebunden.
    Allerdings scheint es mir, als hätte raspbmc nicht auf mein NAS zugegriffen, denn es wurde weder eine Datenbank angelegt (zumindest seh ich keine), noch etwas in den thumbnails-Ordner geschrieben.

    Nun meine Fragen:
    1. Lässt sich in einem Log lesen ob raspbmc die Sachen auf´s NAS schreibt oder lokal nutzt? Wenn ja, wo findet sich dieses Log?
    2. Wo werden die Bilder etc auf dem raspbmc abgelegt? Irgendwo müssen diese doch liegen, wenn nicht auf dem NAS?
    3. Da ich ja den Verdacht habe, das weiterhin alles lokal auf dem raspbmc abgelegt wird, fällt jemanden ein Fehler in meiner Konfiguration auf, oder was könnte ich falsch machen?! Irgendwie weiß ich im moment nicht so wirklich weiter...

    Ich bin für jeden Tipp dankbar!!

    Vielen Dank
    Grüße
    Matze

  • Hallo zusammen,

    erst einmal vielen Dank für die tolle Anleitung.

    Allerdings komme ich leider an einem bestimmten Punkt nicht weiter. Und zwar habe ich ein RAID eingerichtet und in der Anleitung wird das nicht weiter beschrieben. Jetzt ist meine Frage wie mache ich ab hier weiter?
    Der Test mit dem Befehl chmod -R 777 /volume1/xbmcthumbs im Terminal funktioniert nicht. Was müsste dabei rauskommen bzw. passieren?

    Lt. dem DiskStation Manager ist der Pfad folgender: /volume1/xbmcthumbs müsste also vom Pfad her passen.


    Nun habe ich aber das Problem das dem ich die [definition='2','1']advancedsettings[/definition].xml in den Userdata Ordner kopiert, XBMC nicht mehr startet. Warn kann das liegen?


    Ich hoffe mir kann einer kurz sagen was ich jetzt tun muss.

    Vielen Dank vorab!

    Jayjoo

    HTPC: Mac mini i7 2,4GHz, Samsung SSD 840 Pro 128GB, 8GB Arbeitsspeicher
    Rechner: iMac
    TV: Sony KDL-65HX925
    AVR: Denon AVR-3313 mit Teufel LT5 7.1
    FB: Harmony One & 1100

    2 Mal editiert, zuletzt von Jayjoo (22. Januar 2014 um 18:14)

  • Da immer wieder Fragen zu dem gemeinsamen Thumbnail Ordner kommen, der seit Frodo nicht mehr benötigt wird, habe ich das Tutorial um den Bereich gekürzt. Lohnt sich nicht mehr und hat keinen Mehrwert, muss also nicht gesondert erwähnt werden.

  • Ob du das klein oder groß schreibst, ist völlig egal.

    Die erste Zeile liegt einen Benutzer xbmc an, die zweite gibt ihm volle Zugriffsrechte für die MySQL Datenbank, die dritte beendet die MySQL Kommandozeile.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!