Umstellung von interner DB auf MySQL

  • Moin moin,

    ich würde gerne meinen kleinen ATV2 entlasten und die Datenbank auf einen meiner MySQL-Server (die ich per Site-2-Site VPN erreichen kann) auslagern. Nun ist meine DB schon gut gefüllt und gepflegt, daher würde ich ungern alles über den Haufen werfen.

    Ich hab' schon gesucht, aber nichts wirklich passendes gefunden. Daher einmal meine Frage: Wie kann ich die Datenbank zu MySQL hin migrieren? Ist das überhaupt möglich?

    Danke schonmal im Voraus.

    LG aus Hamburg, Tim

  • Ich glaube nicht das eine MySQL den ATV2 wirklich entscheidend entlastet. Aber dazu kann Ben: sicher mehr sagen, der hat bei sich im Netzwerk mehrere XBMCs mit MySQL am laufen. Unter anderem auch einen ATV2.
    Wenn die MySQL DB sogar nur über Internet (VPN) geht wird es meine Meinung nach sogar noch langsamer als vorher.

    Amazon Fire TV 4k | KODI 17.X
    HTPC: ASUS F2A85-M LE | A6-5400K | 4GB DDR3-1866 | 128GB SSD | Windows 10 64 bit | KODI 17.X
    AVR: Onkyo TX-NR509 5.1 + Teufel Consono 35
    TV: Samsung UE55ES6300 55"
    FB: Harmony 785

    Wo finde ich das xbmc.log File?

    Wer einen Rechtschreibfehler findet darf ihn behalten !

  • Naja, entlasten hin oder her, ich find die Idee dennoch mittlerweile charmanter, die Datenbank in eine MySQL Instanz zu überführen - denn mir würden sicherlich noch mehr Anwendungsfälle einfallen, wo man die Datenbank dann noch nutzen kann... ;)

  • Entlasten würde ich jetzt auch nicht sagen, von Vorteil ist es meiner Meinung nach dennoch. Unter Eden kann XBMC auf dem ATV2 durchaus mal abschmieren (hab keine Erfahrungswerte für Frodo) und früher oder später sieht man dann im Log den Hinweis "Database is malformed". Ein Rebuild wäre hier unerlässlich.
    Nutzt man MySQL hat man hier keine Schwierigkeiten mehr, die DB bleibt auch nach dem 100. Absturz des ATV2 intakt. Ob man einfach so migrieren kann, weiss ich ehrlich gesagt gar nicht. Ich würde einen seperaten Datenexport machen, ein advancedsettings.xml#.3Cvideolibrary.3E">importwatchedstate in die [definition='2','1']advancedsettings[/definition].xml packen und dann die MySQL DB sauber frisch anlegen.

  • Moin moin,

    danke für die Antwort. :) Ich habe mich bisher an folgendes HowTo gehalten: [HowTo] Datenbank auf MySQL umstellen und im Netzwerk verfügbar machen.

    DB ist auf dem Server (in meinem Fall einer im Netzwerk) vorhanden, Berechtigungen stimmen auch und das habe ich in der [definition='2','1']advancedsettings[/definition].xml unter /private/var/mobile/Library/Preferences/XBMC/userdata:

    Code
    <video><!-- Compensate display latency (video lag). Latency is given in msecs. --><latency>
          <!-- Global default display latency --><delay>0</delay></latency>
    </video>
    <videodatabase><type>mysql</type><host>10.3.1.11</host><name>xbmc_video</name><user>atv2</user><pass>password</pass></videodatabase>


    Die Sektion <video> war schon da, ich hab es um die <videodatabase> ergänzt. Nach nem Reboot vom ATV2 tut sich aber auf Seiten der DB nix, XBMC nutzt munter weiter die integrierte DB.

    Hat da jemand nen Tipp? Vllt sehe ich den Wald ja vor lauter Bäumen nicht... ;)

    P.S.: Irgendwie zerhackt das Forum mir meinen Codeblock, sorry dafür... :)

    LG aus Hamburg, Tim

  • xbmc.[definition='1','0']log[/definition]? Bitte mit aktiviertem Debugging 1x XBMC starten und dann das Log auf pastebin oder ähnlichem verlinken.

  • 09:35:33 T:108531712 ERROR: Error loading special://profile/[definition='2','1']advancedsettings[/definition].xml, no <[definition='2','1']advancedsettings[/definition]> node

    Da fehlt offenbar das <[definition='2','1']advancedsettings[/definition]> </[definition='2','1']advancedsettings[/definition]> drumrum ?

  • Der Grund warum es nicht geht deine [definition='2','0']as.xml[/definition] hat mindestens einen richtigen Fehler. Zusätzlich ist der NAME Tag seit XBMC 11 überflüssig und verursacht eher Fehler.
    Lade bitte mal deine [definition='2','0']as.xml[/definition] Datei hier hoch.

    Zitat

    09:35:33 T:108531712 NOTICE: No settings file to load (special://xbmc/system/[definition='2','1']advancedsettings[/definition].xml)
    09:35:33 T:108531712 ERROR: Error loading special://profile/[definition='2','1']advancedsettings[/definition].xml, no <[definition='2','1']advancedsettings[/definition]> node


    Wo genau liegt die [definition='2','0']as.xml[/definition] auf deinem ATV2 ?

    PS: Ab XBMC 12, was du ja verwendest, soll man auch keine path subst mehr verwenden. Die Images werden nun besser alle lokal auf dem jeweiligen XBMC Client gespeichert und nicht mehr zusammen auf dem Server.
    So ändern sich von XBMC zu XBMC Version immer irgend ein paar Details ...

    Amazon Fire TV 4k | KODI 17.X
    HTPC: ASUS F2A85-M LE | A6-5400K | 4GB DDR3-1866 | 128GB SSD | Windows 10 64 bit | KODI 17.X
    AVR: Onkyo TX-NR509 5.1 + Teufel Consono 35
    TV: Samsung UE55ES6300 55"
    FB: Harmony 785

    Wo finde ich das xbmc.log File?

    Wer einen Rechtschreibfehler findet darf ihn behalten !

  • Moin moin,


    die [definition='2','1']advancedsettings[/definition].xml habe ich angepasst, da fehlte tatsächlich der <[definition='2','1']advancedsettings[/definition]> Block drumherum. Die Datei liegt in diesem Pfad:


    Code
    /private/var/mobile/Library/Preferences/XBMC/userdata



    Die Datei gibt's hier .

    LG, Tim

  • Der <[definition='2','1']advancedsettings[/definition]> TAG muss komplett außen sein also auch über <video>

    Amazon Fire TV 4k | KODI 17.X
    HTPC: ASUS F2A85-M LE | A6-5400K | 4GB DDR3-1866 | 128GB SSD | Windows 10 64 bit | KODI 17.X
    AVR: Onkyo TX-NR509 5.1 + Teufel Consono 35
    TV: Samsung UE55ES6300 55"
    FB: Harmony 785

    Wo finde ich das xbmc.log File?

    Wer einen Rechtschreibfehler findet darf ihn behalten !

  • Gesagt, getan. Ist umgestellt. Nun ist meine Bibliothek / Datenbank leer, ist ja auch verständlich, wenn man das Backend umstellt.

    Allerdings stand doch im HowTo, dass die DB mit Struktur von XBMC beim ersten Run selbst befüllt wird, oder hab ich das missverstanden?

    Sei es wie es will, die DB bleibt leer, keine neuen Tabellen, nichts. Zugriff aus meinem lokalem Netz (10.3.1.0/24, in MySQL als Berechtigung 10.3.1.%) funktioniert (von einem Client mit HeidiSQL und den atv2 Benutzerdaten.

    Das Log sagt trotz debug-Modus auch nix, ihr könnt es hier einsehen. :)

    Danke und LG, Tim

  • Du musst einmal deine exportierten Daten importieren, nachdem XBMC die DDL-Befehle hat durchlaufen lassen.

    PS: Ich würde mir dein Vorhaben nochmal gut überlegen. Denn imo ist Frodo + eher langsame Verbindung + MySQL = Schmerzen, da Frodo diverse Bild-Infos nur noch in Teilen cached und stattdessen in der DB speichert, damit diese immer abfragen muss und somit immer nachlädt. Schnelles Scrollen durch größere Datenmengen ist damit kein Spaß.

  • Hah, ich glaube, da liegt der Hund begraben. Ich hab natürlich das Exportieren total verpennt. Kann man die MySQL irgendwie so befüllen (also über zB Videobuster.de in meinem Fall), wie ich das mit der internen DB gemacht habe?

  • Erst XBMC DB separate exportieren siehe dazu [HowTo] XBMC Datenbank exportieren/importieren, bereinigen und löschen
    Dann auf MySQL DB umschalen und alles neu einlesen/scrapen. Dabei werden dann nur die vorher separat exportierten Dateien eingelesen. Somit sieht die DB danach genauso aus wie vorher und es muss nichts neu online gesucht werden,

    Das hatte aber Ben weiter oben auch schon geschrieben.

    Amazon Fire TV 4k | KODI 17.X
    HTPC: ASUS F2A85-M LE | A6-5400K | 4GB DDR3-1866 | 128GB SSD | Windows 10 64 bit | KODI 17.X
    AVR: Onkyo TX-NR509 5.1 + Teufel Consono 35
    TV: Samsung UE55ES6300 55"
    FB: Harmony 785

    Wo finde ich das xbmc.log File?

    Wer einen Rechtschreibfehler findet darf ihn behalten !

  • Also, ich hab nun eine xml-Datei, die liegt bei mir aktuell unter

    Code
    /var/mobile/xbmc_videodb_2013-01-19


    und heißt halt "videodb.xml".

    Wenn ich nun auf Videobibliothek importieren klicke, kann ich die Datei nicht auswählen (ich sehe sie nicht mal im Listing). Ich hab nun versucht einfach in den Ordner zu wechseln und dann auf Ok zu klicken, das hat aber auch nix gebracht. Irgendwie steh ich auf dem Schlauch und bin schon ganz schön dankbar, dass Ihr mich soweit gebracht habt... :)

    [EDIT]1: Ich hab' mir mal gedacht "Kopier die Datei doch mal woanders hin und setz' den Chmod auf 0666 ..." Hat leider auch nix gebracht... :-/ Ich würd's ja gerne so wie im HowTo machen, aber ohne Debug-Modus komm ich wohl nicht so weit... Das werd' ich jetzt mal schnell machen.[/EDIT]

    [EDIT]2: Der Debug-Modus sagt mir gar nix. Leider. Ich seh', dass der FileBrowser geladen wird und dass ich Tasten der Fernbedienung drücke. Sonst nix.[/EDIT]

    [EDIT]3: Im "normalen" Dateimanager unter System sehe ich die Datei...[/EDIT]

  • Du sollst separat exportieren und nicht einzeln. Zumindest habe ich mit der einzeln exportierten Datei auch immer nur Probleme beim Import gehabt ...

    Amazon Fire TV 4k | KODI 17.X
    HTPC: ASUS F2A85-M LE | A6-5400K | 4GB DDR3-1866 | 128GB SSD | Windows 10 64 bit | KODI 17.X
    AVR: Onkyo TX-NR509 5.1 + Teufel Consono 35
    TV: Samsung UE55ES6300 55"
    FB: Harmony 785

    Wo finde ich das xbmc.log File?

    Wer einen Rechtschreibfehler findet darf ihn behalten !

Jetzt mitmachen!

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