Geteilte Datenbank funktioniert nicht

  • Hallo,

    ich habe verschiedene Kodis auf mehreren Endgeräten im Einsatz (Tablet, Raspi, Notebooks) und möchte die Einstellungen und die Datenbank synchronisieren.
    Meine [definition='2','1']advancedsettings[/definition].xml dazu sieht so aus:

    Code
    <[definition='2','1']advancedsettings[/definition]>
     <musicdatabase>
        <type>mysql</type>
        <host>meinserver</host>
        <port>3306</port>
        <user>kodi</user>
        <pass>passwort</pass>  
      </musicdatabase>
    </[definition='2','1']advancedsettings[/definition]>


    Die Quellen dazu würde ich später auch gern synchronisieren, dazu habe ich widersprüchliche Angaben gefunden ob und wenn mit welchem Eintrag das überhaupt möglich ist. Die Varianten sind sources und mediasources.

    Nun zum Problem der Datenbank: prinzipiell funktioniert der Zugriff und das Eintragen der gefundenen Titel, ich sehe die Datenbank in phpmyadmin.
    In Kodi taucht allerdings keine Datenbank auf, die Musik-Darstellung bleibt leer, als hätte ich keine Quellen eingetragen.
    Im Log habe ich dazu das gefunden:

    Code
    2021-12-16 12:20:34.854 T:5116    ERROR <general>: SQL: [MyMusic82] The table does not exist
                                                       Query: select count(idSong) as NumSongs from songview 
    2021-12-16 12:20:34.854 T:5116    ERROR <general>: CMusicDatabase::GetSongsCount() failed

    Und das trifft auch zu, die Tabelle "songview" gibt es nicht. Wenn ich im phpmyadmin die Query eingebe und songview in song ändere, passt alles. Meine Frage: kann ich das irgendwo konfigurieren und durch einen Fix zum Laufen bingen? Muss die Funktion eigentlich funktionieren? Wie sich das für mich im [definition='1','0']log[/definition] darstellt, liegt hier ein Bug.

    Meine Version: 19.3, getestet zur Zeit auf Windows 10.

    Ein ähnliches Problem gibt es bei den Videos auch aber jetzt gehen wir mal einen Schritt nach dem anderen.

    Viele Grüße,
    Christoph

    ReelBox AVG II (größter Fehlkauf aller Zeiten)
    Raspi 3b, Libreelec 9.2.8
    Raspi 4, Libreelec 10.0
    QNap TS412
    Server:
    Supermicro X11-SCL-IF, Xeon E2176, 32GB, 500GB SSD, 8TB HDD
    Ubuntu 20.10, TVHeadend 4.3
    Digibit R1 - minisatip-axe

  • damit ich mich nicht mit MySQL oder MariaDB rumärgern muss, bin ich den Weg zu Emby gegangen,

    hat für mich auch den Vorteil unterschiedliche Kodi Versionen nutzen zu können.

    Gut, das hilft dir erst mal für dein Problem nicht, soll nur eine weitere Möglichkeit aufzeigen mehrere Kodis "synchron" zu halten,

    ganz ohne [definition='2','1']advancedsettings[/definition].xml ;)

  • Ich weiß nicht, was ihr alle für Probleme habt. Bei mir läuft die MYSQL Variante mit 3 Clients (3 x Kodi 19.3 - 2x Win 10, 1 x Android) total super.

    Scheint derzeit mit MySQL, MariaDB etc. und Kodi nicht rund zu laufen:
    Kodi mit Mysql Bleibt leer

    Dort hab ich schonmal erwähnt, dass es an der mariadb.cnf liegen könnte, da ich diese bei moir auch etwas nachbearbeiten musste, damit es rund läuft. Dieser Beitrag von mir wurde dort ja auch übergangen oder nicht für wichtig empfunden...

  • Das Problem kenne ich ;)

    Und ein [definition=12,7][definition='1','1']debuglog[/definition][/definition] fehlt halt auch immer. Da gibt es schon eine Stelle, die Aufschluss bringen könnte und die Fragesteller behalten das immer für sich ;)

    Wertschätzung kostet nichts, aber sie ist von unschätzbarem Wert.

  • Die Situation bei mir sieht für mich so so aus:
    kodi will eine Tabelle auslesen, die es vorher nicht selbst erstellt hat. Ich würde erstmal den Schuldigen bei kodi suchen. Gibt es irgendeinen Einfluß der Konfiguration darauf? Wenn nein, ist es für mich ein Bug.

    Mein [definition='1','4']Debuglog[/definition] sieht auch nicht viel anders aus. Da findet man den gleichen Fehler nur etwas versteckter in jeder Mege zusätzlichr irrelevanter Meldungen.

    Kleine Zwischenfrage: bei mir soll Kodi ja mit einer Datenbank arbeiten, die in der gleichen Version erstellt wurde. Hast Du (Publish3r) vielleicht eine Datenbank mit einer älteren Version erstellt und dann das Update aufgespielt? Womöglich existiert daher bei Dir die Tabelle. Schonmal neue Titel aufgenommen? Tauchen die im kodi korrekt auf?

    Schönen Gruß,
    Christoph

    ReelBox AVG II (größter Fehlkauf aller Zeiten)
    Raspi 3b, Libreelec 9.2.8
    Raspi 4, Libreelec 10.0
    QNap TS412
    Server:
    Supermicro X11-SCL-IF, Xeon E2176, 32GB, 500GB SSD, 8TB HDD
    Ubuntu 20.10, TVHeadend 4.3
    Digibit R1 - minisatip-axe

    Einmal editiert, zuletzt von chrisfetzer (16. Dezember 2021 um 21:08)

  • Servus,

    ich hab mir jetzt mal den Spaß erlaubt, die Tabelle song in songview umzubenennen. Ergebnis: die Darstellung der Musikbibliothek sieht jetzt erstmal nach einer vorhandenen Bibliothek aus und nicht der Startbildschirm mit der Aufforderung zum Hinzufügen von Quellen. Alben, Künstler,Titel... gibt es aber nicht.
    Im Log sieht das u.a. so aus:

    Code
    2021-12-17 10:30:18.838 T:2712    ERROR <general>: SQL: [MyMusic82] The table does not exist
                                                       Query: SELECT albumview.*, albumartistview.* FROM (SELECT idAlbum FROM albumview WHERE albumview.lastplayed IS NOT NULL AND albumview.strReleaseType = 'album' ORDER BY albumview.lastplayed DESC LIMIT 25) as playedalbums JOIN albumview ON albumview.idAlbum = playedalbums.idAlbum JOIN albumartistview ON albumview.idAlbum = albumartistview.idAlbum ORDER BY albumview.lastplayed DESC, albumartistview.iorder 
                                                       
    2021-12-17 10:30:18.839 T:2712    ERROR <general>: CMusicDatabase::GetRecentlyPlayedAlbums failed


    Also offensichtlich noch mehr Bugs der selben Kragenweite.
    Ich schau mal, ob ich irgendwo einen Bugtracker finde, oder kann mich jemand geeignet weiterleiten?

    Schönen Gruß,
    Christoph

    ReelBox AVG II (größter Fehlkauf aller Zeiten)
    Raspi 3b, Libreelec 9.2.8
    Raspi 4, Libreelec 10.0
    QNap TS412
    Server:
    Supermicro X11-SCL-IF, Xeon E2176, 32GB, 500GB SSD, 8TB HDD
    Ubuntu 20.10, TVHeadend 4.3
    Digibit R1 - minisatip-axe

  • Und hast Du schonmal neue Alben hinzugefügt seitdem?

    ReelBox AVG II (größter Fehlkauf aller Zeiten)
    Raspi 3b, Libreelec 9.2.8
    Raspi 4, Libreelec 10.0
    QNap TS412
    Server:
    Supermicro X11-SCL-IF, Xeon E2176, 32GB, 500GB SSD, 8TB HDD
    Ubuntu 20.10, TVHeadend 4.3
    Digibit R1 - minisatip-axe

  • Öh, ja, lange keine Zeit mehr für das Thema gehabt.
    @Publish3r, kannst Du bitte mal nachschaun, was kodi bei Dir in die Tabelle version, Feld idVersion schreibt? Bei mir ist das für Music 82 und Videos 119 (hm, die Zahl auch aber auch im Tabellennamen Music82 auf,...).
    Gibt es in Music die Tabelle song? Gibt es die Tabelle songview?

    Viele Grüße,
    Christoph

    ReelBox AVG II (größter Fehlkauf aller Zeiten)
    Raspi 3b, Libreelec 9.2.8
    Raspi 4, Libreelec 10.0
    QNap TS412
    Server:
    Supermicro X11-SCL-IF, Xeon E2176, 32GB, 500GB SSD, 8TB HDD
    Ubuntu 20.10, TVHeadend 4.3
    Digibit R1 - minisatip-axe

  • @chrisfetzer

    Ich glaube, es wird dir einfach niemand helfen können. Wenn ich schon:

    ich hab mir jetzt mal den Spaß erlaubt, die Tabelle song in songview umzubenennen

    lese, dann wird mir Angst und Bange. Du fingerst manuell in der Kodi DB rum und benennst Dinge anders als sie vorgesehen sind und wunderst dich dann, wenn es nicht so funktioniert wie gedacht.

    Ich würde an deiner Stelle nochmal ganz von vorn anfangen und dann auch mal ein [definition='1','4']Debuglog[/definition] liefern. So kann dir einfach niemand helfen.

    Da findet man den gleichen Fehler nur etwas versteckter in jeder Mege zusätzlichr irrelevanter Meldungen.

    Solche Aussagen helfen dir halt nicht weiter. Denn das impliziert, dass niemand "mehr" aus den Logs auslesen könnte als du selbst. Wenn du also schon alles weißt, dann lös doch das Problem alleine ;) . Wenn nicht, was offensichtlich der Fall ist, dann solltest du vielleicht das machen, worum dich die Leute, die dir helfen wollen, bitten. Nämlich ein [definition='1','4']Debuglog[/definition] zeigen, welches deinen Fehler aufweist. Da du die Datenbank aber jetzt schon manipuliert hast und nicht jeder seine Datenbank selbst manipulieren möchte um dein Problem nachzustellen, würde ich dir empfehlen nochmal von vorne anzufangen und nichts zu manipulieren. Dann kann man dir vielleicht helfen. Ggf bedeutet das auch, dass du einen Bug-Report bei Kodi aufmachen musst. Aber vielleicht bekommen wir es auch gelöst und du machst einen Fehler.

    Wie werden es wohl nie erfahren.

    Wertschätzung kostet nichts, aber sie ist von unschätzbarem Wert.

  • Für die Nachwelt:
    meine Einrichtanleitung für mysql war falsch, dadurch haben dem Datenbanknutzer Zugriffsrechte gefehlt. Wobei ich über die Notwendigkeit, Vollzugriff auf den Server zu geben, nicht sehr begeistert bin.
    Und eine nutzerfreundliche Fehlermeldung sieht auch anders aus.

    ReelBox AVG II (größter Fehlkauf aller Zeiten)
    Raspi 3b, Libreelec 9.2.8
    Raspi 4, Libreelec 10.0
    QNap TS412
    Server:
    Supermicro X11-SCL-IF, Xeon E2176, 32GB, 500GB SSD, 8TB HDD
    Ubuntu 20.10, TVHeadend 4.3
    Digibit R1 - minisatip-axe

  • meine Einrichtanleitung für mysql war falsch, dadurch haben dem Datenbanknutzer Zugriffsrechte gefehlt. Wobei ich über die Notwendigkeit, Vollzugriff auf den Server zu geben, nicht sehr begeistert bin

    Nur Gott weiß von welcher Anleitung du sprichst. Weiter braucht der Datenbank-User auch keinen Vollzugriff auf den Server. Das ist ja lächerlich. Selbst MySQL Vollzugriff auf alle Datenbanken ist unnötig.

    GRANT ALL <Name_der_DB>.* TO <mysql_username> ist da völlig ausreichend

    Wertschätzung kostet nichts, aber sie ist von unschätzbarem Wert.

  • Das ist ja lächerlich. Selbst MySQL Vollzugriff auf alle Datenbanken ist unnötig.

    GRANT ALL <Name_der_DB>.* TO <mysql_username> ist da völlig ausreichend

    Bei mir tat es erst mit:
    GRANT ALL *.* TO <mysql_username>
    Zuvor hatte ich eben
    GRANT ALL MyMusic%.* TO <mysql_username>
    und
    GRANT ALL MyVideos%.* TO <mysql_username>

    ReelBox AVG II (größter Fehlkauf aller Zeiten)
    Raspi 3b, Libreelec 9.2.8
    Raspi 4, Libreelec 10.0
    QNap TS412
    Server:
    Supermicro X11-SCL-IF, Xeon E2176, 32GB, 500GB SSD, 8TB HDD
    Ubuntu 20.10, TVHeadend 4.3
    Digibit R1 - minisatip-axe

  • Zuvor hatte ich eben
    GRANT ALL MyMusic%.* TO <mysql_username>
    und
    GRANT ALL MyVideos%.* TO <mysql_username>

    Ist dir vielleicht mal in den Sinn gekommen, dass % nicht als Platzhalter/RegEx funktioniert? Hast du denn mal in der MySQL nachgesehen, wie die DB tatsächlich heißt. Schließlich kannst du einen "root"-User anlegen mit dem du dir alle DBs anschauen kannst. Das muss ja nicht der User sein, den du für Kodi benutzt. Ich würde es auf jeden Fall nicht mit einem Platzhalter versuchen sondern mit dem tatsächlichen Namen der DB.


    Und schön, dass wir mittlerweile schon bei Post 19 sind und eigentlich immer nur Stückchenweise erfahren, was du gemacht hast.

    Persmissions via Platzhalter in einer DB zu vergeben, mag ja funktionieren. Das würde ich aber für ein sehr schlechtes Pattern halten. Denn vielleicht vergisst du mal, auf welche DBs dieser Platzhalter passt, wenn mehrere vorhanden sind.

    Fakt ist, dass das obige auf jeden Fall kein "RegEx" ist. Der RegEx MyMusic% angewendet auf MyMusic82 (so heißt die aktuelle Musik-DB bei Kodi 20) passt nämlich auf gar nichts. Wenn man dort überhaupt RegEx anwenden kann, dann sollte der so aussehen: MyMusic.*. Keine Ahnung ob es überhaupt möglich ist einen Platzhalter dort zu setzen. Das mögen andere besser wissen als ich. Aber nichts desto trotz kann man es ja mal mit dem echten Namen der DB versuchen.

    Aber, wie gesagt...keiner weiß, welcher Anleitung du gefolgt bist, keiner weiß, was du schon an der DB rumgepfuscht hast (sorry...."pfuschen" ist nicht böse gemeint, aber man verändert nicht einfach Tables in einer DB...das ist wirklich schlecht) und man muss dir alles aus der Nase ziehen. So macht Support keinen Spaß

    Wertschätzung kostet nichts, aber sie ist von unschätzbarem Wert.

  • Wenn man danach googelt gibt es jede Menge Treffer, z.B.
    https://www.smarthomebeginner.com/kodi-mysql-setup-to-share-library/
    Ich bin nach Dennis Rühmer, "Smart-TV mit Kodi" vorgegangen.

    Mach Dir mal nicht ganz so viel Sorgen. Wenn ich den Namen einer Tabelle in einer Richtung ändern kann, kann ich ihn auch zurück ändern. Und ich kann die ganze Tabelle entfernen und kodi von vorn beginnen lassen.

    Und wenn kodi mit o.g. Berechtigungen eine Datenbank anlegen kann, dann können die auch nicht ganz falsch sein - nur wohl ungenügend.

    ReelBox AVG II (größter Fehlkauf aller Zeiten)
    Raspi 3b, Libreelec 9.2.8
    Raspi 4, Libreelec 10.0
    QNap TS412
    Server:
    Supermicro X11-SCL-IF, Xeon E2176, 32GB, 500GB SSD, 8TB HDD
    Ubuntu 20.10, TVHeadend 4.3
    Digibit R1 - minisatip-axe

Jetzt mitmachen!

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