Radagast
Elite User
- Registriert
- 11. Mai 2013
- Beiträge
- 1.746
- Reaktionspunkte
- 1.009
- Punkte
- 383
Kodi und die zentrale Datenbank
Wer mehr als einen Kodi Client im Einsatz hat vermisst evtl eine zentrale Datenbank mit deren Hilfe ein einheitlicher Status gegeben wird über bereits gesehene Filme oder man schaut den Film xyz bis zur Hälfte und möchte an der selben Stelle in einem anderem Raum den Film fertig ansehen. Dies sind ein paar Vorteile die eine zentrale Datenbank bei Kodi hat.
Im folgendem möchte ich euch einen kleinen Leitfaden an die Hand geben wie ihr unter Windows oder unter Debian MySQL installieren könnt und wie ihr Kodi dies dann auch mit auf den Weg gebt.
Achtung!
Wir selber legen keine Daten innerhalb von MySQL an. Dies erledigt alles Kodi für uns.
Auf allen Clients muß die selbe Version von Kodi laufen. Sprich es gibt Probleme, wenn auf dem einen Client Version 14.2 läuft und auf einem anderem bereits die Version 15.0!
Bei Verwendung einer zentralen Datenbank müßt ihr immer alle Clients auf den selben Versionsstand bringen.
Installation von MySQL unter Windows:
Auf der Webseite von
Sie müssen registriert sein, um Links zu sehen.
könnt ihr euch das entsprechende Produkt herunter laden.Ihr werdet nach einem Account bei Oracle gefragt, aber es ist nicht notwendig einen solchen zu haben.
Hinweis:
Laut dem Wiki von Kodi sollte MySQL Version 5.5.42 genommen werden da mit neueren Versionen Probleme vorhanden sind. Ich selber verwende Version 5.6.26 und konnte bisher keine Probleme feststellen.
Am einfachsten ist es, wenn ihr euch dem msi-Installer saugt.
Nach dem ihr den Lizensbestimmungen zugestimmt habt wählt ihr als Setup Type "Server only". Alles andere wird nicht benötigt.
Du musst angemeldet sein, um Bilder zu sehen.
Wählt "Next" und anschließend Execute
Du musst angemeldet sein, um Bilder zu sehen.
Sobald die Installtion abgeschlossen ist kommt ihr über "Next" zur Konfiguration. Hier bitte wieder unter Config Type "Server Machine" auswählen
Du musst angemeldet sein, um Bilder zu sehen.
Über "Next" kommen wir dann zur "Userverwaltung"
Du musst angemeldet sein, um Bilder zu sehen.
Hier müßt ihr jetzt als erstes ein Passwort für den Benutzer root hinterlegen. Dieses Passwort kann wichtig sein wenn ihr nachträglich mal etwas am SQL-Server ändern wollt. Von daher schreibt euch das Passwort irgendwo auf!
Eure Eingaben werden nicht im Klartext angezeigt.
Du musst angemeldet sein, um Bilder zu sehen.
Danach geht es an den MySQL User Account.
Hier legen wir jetzt einen Benutzer mit zugehörigem Passwort und den den entsprechenden Rechten für Kodi an.
Wir klicken auf den Button "Add User" und geben die entsprechenden Daten an.
In diesem Beispiel verwende ich als Usernamen kodi und auch kodi als Passwort.
Was ihr verwendet bleibt euch überlassen. Nur merken müßt ihr euch eure Daten, denn wir brauchen sie nachher.
Du musst angemeldet sein, um Bilder zu sehen.
Mit "OK" schließen wir das Fenster und gehen anschließend mit "Next" zum nächsten Schritt.
Bei dem Schritt "Windows Service" lassen wir alles so wie die Voreinstellungen es uns vorgeben.
Du musst angemeldet sein, um Bilder zu sehen.
Mit "Next" geht es auch diesmal weiter und lassen abschließend den MySQL-Installer mit "Execute"
Du musst angemeldet sein, um Bilder zu sehen.
den Rest erledigen und können sofern keine Fehlermeldung kam mit "Finish"
Du musst angemeldet sein, um Bilder zu sehen.
die Installation abschließen.
Die Installationsroutine öffnet in der Windowsfirewall den entsprechenden Port 3306. Falls ihr von einem Dritthersteller eine Firewall auf dem System habt müßt ihr evlt selber Hand anlegen.
Installation von MySQL unter (Debian-)Linux:
Mit dem Befehl
Code:
sudo apt-get install mysql-server
Während der Installation werdet ihr nach einem (root) Passwort gefragt. Dies solltet ihr euch gut merken, denn es ist wichtig um später Zugriff auf den SQL-Server zu erhalten.
Wenn die Installation ohne Fehlermeldungen abgeschlossen wurde,
Code:
Starting MySQL database server: mysqld ..
Checking for corrupt, not cleanly closed and upgrade needing tables..
libhtml-template-perl (2.9-2) wird eingerichtet ...
mysql-server (5.1.73-1) wird eingerichtet ...
user@testsytem:~#
Code:
nano /etc/mysql/my.cnf
Sucht die Zeile, welche mit bind-address anfängt und ändert die IP von 127.0.0.1 auf die IP eures Systems ab.
Code:
bind-address = 192.168.x y
Ansonsten bitte nichts anderes ändern.
Damit MySQL dies auch übernimmt ist der Dienst neu zu starten
Code:
restart mysql
Code:
mysql -u root -p
CREATE USER 'kodi' IDENTIFIED BY 'kodi';
GRANT ALL ON *.* TO 'kodi';
\q
Hinweis!
Sollte die zentrale Datenbank bei einem bestehendem Kodi-System eingebunden werden müssen wir uns erst noch um den Inhalt der vorhandenen lokalen Bibliotheken von Kodi kümmern.
Falls dies nicht geschieht startet Kodi mit einer leeren Datenbank und alle Filme/Serien/MP3s werden neu eingelesen und evtl manuelle Einstellungen gehen verloren.
Hierzu müssen wir die entsprechenden Bibliotheken erst noch exportieren.
1. Die Video Datenbank
Optionen -> Video -> Datenbank -> Videobibliothek exportieren
In eine einzelne Datei oder in separate Dateien pro Eintrag exportieren? - Separat
Sollen Bilder und Fanart exportiert werden? - Ja
Bilder der Darsteller exportieren? - Ja
Alte Dateien überschreiben? - Ja
Sollen Bilder und Fanart exportiert werden? - Ja
Bilder der Darsteller exportieren? - Ja
Alte Dateien überschreiben? - Ja
2. Die Musik Datenbank
Optionen -> Musik -> Musikdatenbank exportieren
In eine einzelne Datei oder in separate Dateien pro Eintrag exportieren? - Separat
Sollen Bilder und Fanart exportiert werden? - Ja
Alte Dateien überschreiben? - Ja
Sollen Bilder und Fanart exportiert werden? - Ja
Alte Dateien überschreiben? - Ja
Tip:
Von Zeit zu Zeit gehe ich diese Schritte manuell durch um die Daten aus der Datenbank auf die Festplatte zu speichern. Ich habe dann im Fall der Fälle, dass die SQL-Datenbank aus welchen Gründen auch immer nicht mehr vorhanden sein sollte ein Backup über den Status meiner Filme und Serien.
Um die zentrale SQL Datenbank anschließend nutzen zu können sind noch Einträge in der advancedsettings.xml notwendig.
Die advancedsettings.xml ist eine Konfig-Datei, welche von Haus aus nicht angelegt ist und von euch erstellt werden muß. Sie ist im entsprechendem userdata Ordner abzulegen.
Selbiger ist im selben Verzeichnis zu finden in welchem auch das Logfile von Kodi zu suchen ist -> Infos - Kodi und die Suche nach dem Logfile
Hier finden sich jetzt der Username, das Passwort, der Port und auch die IP Adresse wieder.
Code:
<advancedsettings>
<videodatabase>
<type>mysql</type>
<host>***.***.***.***</host>
<port>3306</port>
<user>kodi</user>
<pass>kodi</pass>
</videodatabase>
<musicdatabase>
<type>mysql</type>
<host>***.***.***.***</host>
<port>3306</port>
<user>kodi</user>
<pass>kodi</pass>
</musicdatabase>
<videolibrary>
<importwatchedstate>true</importwatchedstate>
<importresumepoint>true</importresumepoint>
</videolibrary>
</advancedsettings>
Zentraler Speicherort für Thumbnails
Nicht in der zentralen Datenbank abgelegt sind die ganzen Thumbnails die Kodi zur Darstellung verwendet.
Auch diese können an einen zentralen Ort ausgelagert werden mit Hilfe von pathsubstitution in der advancedsettings.xml.
Hierzu legt ihr auf eurem Server ein Netzwerklaufwerk an und tragt dies entsprechend in die advancedsettings.xml ein.
Es sollte dann wie folgt aussehen
Code:
<pathsubstitution>
<substitute>
<from>special://masterprofile/Thumbnails/</from>
<to>smb://username:passwort@ip.des.ser.vers/Name des Netzwerklaufwerks</to>
</substitute>
</pathsubstitution>
Die gesamte advancedsettings.xml sollte abschließend dann so aussehen:
Code:
<advancedsettings>
<videodatabase>
<type>mysql</type>
<host>***.***.***.***</host>
<port>3306</port>
<user>kodi</user>
<pass>kodi</pass>
</videodatabase>
<musicdatabase>
<type>mysql</type>
<host>***.***.***.***</host>
<port>3306</port>
<user>kodi</user>
<pass>kodi</pass>
</musicdatabase>
<videolibrary>
<importwatchedstate>true</importwatchedstate>
<importresumepoint>true</importresumepoint>
</videolibrary>
<pathsubstitution>
<substitute>
<from>special://masterprofile/Thumbnails/</from>
<to>smb://username:passwort@ip.des.servers./Name des Netzwerklaufwerks</to>
</substitute>
</pathsubstitution>
</advancedsettings>
Änderungen an der advancedsettings.xml werden immer nur nach einem Neustart von Kodi übernommen!
Zuletzt bearbeitet: