Kodi database sync

Om met meerdere Kodi media center systemen de muziek- en video-bibliotheek te synchroniseren, is een mySQL database nodig. Eenmaal ingesteld zie je ook de status van TV-shows als ‘bekeken’ of kun je verder kijken op een andere Kodi media center. Hoe stel je dit in?

MySQL

mySQL kun je installeren op je NAS, op een Raspberry Pi, op een Windows PC of Mac. Hieronder de uitleg van de installatie op een Windows PC.
Als eerste dien je de mySQL server package for Windows the downloaded via https://dev.mysql.com/downloads/windows/installer/5.7.html

Kies voor een standaard installatie en stel deze in als een Windows Service. Vervolgens kun je de ‘security options’ instellen zoals de ‘root password’. In het START menu is nu de optie ‘MySQL Command Line Client’ bijgekomen en die gaan we gebruiken om de Kodi user aan te maken. Geef daarvoor de volgende commando’s in MySQL client:

CREATE USER 'kodi' IDENTIFIED BY 'kodi';
GRANT ALL ON *.* TO 'kodi';
flush privileges;

Vervolgens gaan we Powershell (als Administrator!) openen om een firewall regel toe te voegen voor de Kodi Mediacenters. Geef in Powershell het volgende commando:

New-NetFirewallRule -DisplayName "Allow inbound TCP Port 3306 for MySQL" -Direction inbound –LocalPort 3306 -Protocol TCP -Action Allow

Nu gaan we Kodi instellen om de mySQL database te gebruiken.

Kodi advancedettings

Zorg ervoor dat de ssh optie in Kodi aan staat. Deze procedure dient op elke Kodi media center uitgevoerd te worden.

Log met een ssh client in op de Kodi media center. Maak het volgende bestand aan (of pas het aan indien het al bestaat): ~/.kodi/userdata/advancedsettings.xml en plaats er de volgende regels in:

<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>
<tvdatabase>
<type>mysql</type>
<host>***.***.***.***</host>
<port>3306</port>
<user>kodi</user>
<pass>kodi</pass>
</tvdatabase>
<videolibrary>
<importwatchedstate>true</importwatchedstate>
<importresumepoint>true</importresumepoint>
</videolibrary>
</advancedsettings>

Waarbij je het IP adres van de mySQL server op de plaats van de *** in vult in de <host> regel. Opnieuw opstarten en klaar!

Controle database

SELECT COUNT(*) from databasename.tvshow;
SELECT COUNT(*) from databasename.movie;

Bovenstaande commando’s kunnen gebruikt worden om te controleren of er regels aangemaakt worden in de database. De database name is bv. myvideos107