Vorteil: Performancegewinn, nur noch eine Datenbank für alle XBMCs im Netzwerk.
Voraussetzungen: SVN Version r28117, shell Zugriff.
WICHTIG: Ab XBMC 11 Eden legt XBMC die Datenbank unter MySQL selbst an. Wenn diese bereits manuell angelegt wurde führt dies zu Fehlern.
1. Installation des MySQL-Servers (und eines Texteditors):
2. Einrichten der MySQL-Datenbank über das MySQL-Frontend in der shell:
Erstellen der Datenbank (xbmc_video) und des Benutzers (USER) mit Passwort (PASSWORD).
Starten des MySQL-Frontends:
(Das MySQL-root Passwort wurde zuvor bei der Installation festgelegt.)
mysql> CREATE DATABASE xbmc_video;
mysql> GRANT ALL on xbmc_video.* TO 'USER'@'localhost' IDENTIFIED BY 'PASSWORD';
mysql> GRANT ALL on xbmc_video.* TO 'USER'@'%' IDENTIFIED BY 'PASSWORD';
mysql> FLUSH PRIVILEGES;
mysql> exit;
Die 3. Zeile im MySQL-Frontend erlaubt den Netzwerkzugriff (benötigt auch die erste Zeile), dieser kann statt vom gesamten Netzwerk '%', auch auf eine IP (-Range) eingeschränkt werden.
(Die 3. Zeile kann ganz weggelassen werden, wenn kein Netzwerkzugriff benötigt wird.)
3. Anpassung der XBMC Konfiguration in der .xbmc/userdata/[definition='2','1']advancedsettings[/definition].xml: http://wiki.xbmc.org/index.php?titl…ideodatabase.3E mit:
<[definition='2','1']advancedsettings[/definition]>
...
<videodatabase>
<type>mysql</type>
<host>localhost</host>
<name>xbmc_video</name>
<user>USER</user>
<pass>PASSWORD</pass>
</videodatabase>
...
</[definition='2','1']advancedsettings[/definition]>
Alles anzeigen
Soll ein XBMC über das Netzwerk auf die Datenbank zugreifen, muss IP/Name des MySQL-Server-Rechners, z.B.
eingetragen und der MySQL-Server konfiguriert werden (siehe 4.)
Damit Thumbnails usw. auch auf dem Client xbmc richtig dargestellt werden, muss der Thumbnail Ordner aus dem Userdata synchronisiert werden:
(oder der Ordner per Netzwerkdateisystem eingebunden werden)
4. Anpassung der MySQL-Server Konfiguration in der Datei /etc/mysql/my.cnf:
Um Netzwerkzugriff zu ermöglichen muss in der Zeile:
die IP des MySQL-Server-Rechners eintragen werden, z.B:
Zur Performancesteigerung kann zusätzlich die Option 'skip-name-resolve' in der Sektion [mysqld] hinzugefügt werden. (dann aber nur noch mit IP-Adressen arbeiten!)
4.2 Aktivieren des MySQL-Querycache.
Einen echten Geschwindigkeitszuwachs bringt die Aktivierung des "MySQL-Anfragen-Cache", dort werden Anfragen und deren Ergebnisse zwischengespeichert. Bei wiederkehrenden Abfragen, was beim browsen durch die DB ja vorkommt, ist der Zuwachs enorm.
Aktiviert wird er wiefolgt:
5. Tipps:
5.1. Testen des Netzwerkzugriffs auf die MySQL-DB:
(access denied)
(sollte klappen)
5.2 .Tägliches backup der Datenbank:
Eine neue Textdatei 'xbmc_db' in /etc/cron.daily/ anlegen:
mit dem Inhalt:
#!/bin/sh
/usr/bin/mysqldump --opt -u USER --password=PASSWORD xbmc_video > /home/xbmc/backup/xbmc_video_db_`date +%F`.sql
danach die Datei noch ausführbar machen:
Backup wieder einspielen: