ubuntuusers.de

Datenbank

Archivierte Anleitung

Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Hinweis:

Dieser Artikel ist nur für Amarok 1.4 Fast Forward. Amarok 2 wird eine MySQL Embedded verwenden und bietet daher nicht mehr die Möglichkeit eine andere Datenbank zu verwenden.

Datenbankengines in Amarok

Amarok bietet die Möglichkeit die eingebaute Datenbankengine SQLite durch die externen Datenbanksysteme MySQL oder PostgreSQL zu ersetzen. SQLite ist im Vergleich zu MySQL oder PostgreSQL nicht so mächtig und auch nicht so stark auf die Anforderungen eines großen Datenbanksystems optimiert. Der Zielbereich ist ganz klar die Integration in eine Anwendung für kleinere Datenabfragen wie dies bei Amarok der Fall ist. Wird der Datenbestand jedoch groß, hat SQLite deutlich mehr Probleme damit zurecht zu kommen als ein vollwertiges Datenbanksystem. Dies sieht man auch bei Amarok an hoher CPU-Last und Speicherverbrauch. In einem solchen Fall empfiehlt sich die Verwendung eines externen Datenbanksystems. Dadurch wird Amarok entlastet und die Arbeit einem Profi übergeben. Jedoch bedeutet es auch, dass mit dem Datenbanksystem ein komplexer und großer Server-Dienst installiert wird, der auch Ressourcen benötigt und beim Systemstart gestartet werden muss. Man muss daher genau abwägen, ob es sinnvoll ist, SQLite durch MySQL oder PostgreSQL zu ersetzen. Einen Richtwert wann man umstellen sollte, kann man nicht geben, da dies von der Anzahl der verwalteten Lieder und den Hardwareressourcen abhängt.

Hinweis:

Durch die Umstellung der Datenbankengine könnte es sein, dass Amarok die Sammlung neu erfasst. In diesem Fall gehen alle Metainformationen zu Liedern (wie häufig gespielt, welche Lieblingslieder) verloren. Die eigentlichen Lieder und ID3-Tags sind davon natürlich nicht betroffen.

MySQL

Installation

Für MySQL muss das Paket

  • mysql-server

installiert werden [1]. Mehr Informationen zur Installation und Konfiguration findet man hier.

Einrichten der Datenbank

Nach der Installation muss man für Amarok eine Datenbank und einen Nutzer einrichten. Dazu öffnet man ein Terminal [2] und verbindet sich mit der Datenbank als root-Benutzer der Datenbank, der nicht mit dem root-Benutzer von Linux verwechselt werden sollte. MySQL hat eine eigene Benutzerverwaltung, die unabhängig von der Benutzerverwaltung des Betriebsystems ist.

MySQL verwendet in der Standardkonfiguration kein Passwort für den root-Benutzer (sollte aus Sicherheitsgründen geändert werden). Wenn kein Passwort verwendet wird, gibt man im Terminal folgenden Befehl ein:

mysql -u root 

Mit Passwort ist folgender Befehl zu verwenden:

mysql -u root -p 

Nun hat man einen Terminal Zugang zu der Datenbank und kann Befehle auf der Datenbank ausführen. Zuerst muss eine Datenbank für Amarok angelegt werden. Diese erhält in dem folgenden Beispiel den Namen amarok. Ebenso wird ein Benutzer mit dem Namen amarok und Passwort strenggeheim angelegt:

mysql> CREATE DATABASE amarok;
mysql> GRANT ALL ON amarok.* TO amarok@localhost IDENTIFIED BY 'strenggeheim'; 

Nun kann man mit exit das Terminal der Datenbank wieder verlassen. Man sollte nun noch den Zugang testen. Dazu im Terminal mysql als der neuangelegte Benutzer starten und zur neu angelegten Datenbank verbinden:

mysql -u amarok -p amarok 

Beim Passwortprompt das vergebene Passwort eingeben. Wenn alles funktioniert, kann man mit exit das Terminal wieder verlassen.

Erreichbarkeit im Netz

Soll die Datenbank von anderen Rechnern im Netzwerk erreicht werden, so müssen in der Datei /etc/mysql/my.cnf der Eintrag

bind-adress = 127.0.0.1

auskommentiert und die Rechte der angelegten Datenbank angepasst werden.

mysql -u root -p

mysql> USE amarok;
mysql> GRANT ALL ON amarok.* TO amarok@'%' IDENTIFIED BY 'strenggeheim';
mysql> EXIT 

Verwendung von MySQL in Amarok

Um nun Amarok dazu zu bewegen MySQL anstatt SQLite zu verwenden, muss man die Einstellungen öffnen ("Einstellungen → Amarok einrichten") und den Punkt "Sammlung" auswählen. Hier gibt es einen Punkt namens "Sammlungs-Datenbank" mit einem Dropdown "Datenbank", in dem man MySQL auswählen kann. Nun werden weitere Eingabefelder angezeigt:

  • "Rechner": localhost (default-Einstellung)

  • "Port": 3306 (default-Einstellung)

  • "Datenbank": amarok (hier den Namen der oben angelegten Datenbank eingeben. Falls die Datenbank "amarok" heißt, braucht nichts verändert zu werden.)

  • "Benutzername": (hier den Namen des oben angelegten Benutzers eingeben. In dem Beispiel "amarok")

  • "Passwort": (hier das Passwort des oben angelegten Benutzers eingeben. In dem Beispiel "strenggeheim")

Hinweis:

Es könnte sein, dass Amarok eine Fehlermeldung anzeigt, dass der eigene Benutzer (Linux) nicht mit der Datenbank verbinden kann. In diesem Fall muss man Amarok neustarten, danach wird die Verbindung zu MySQL korrekt hergestellt.

PostgreSQL

Installation

Für PostgreSQL müssen die Pakete

  • postgresql (vor Gutsy in universe [3])

  • postgresql-client (vor Gutsy in universe [3])

installiert werden [1]. Mehr Informationen zur Installation und Konfiguration findet man hier.

Einrichten der Datenbank

Die Einrichtung der Datenbank verläuft analog zu der von MySQL. Es empfiehlt sich ebenfalls eine eigene Datenbank und eigenen Benutzer für Amarok anzulegen. Dazu muss man ein Terminal öffnen [2] und sich als Datenbank-Admin mit PostgreSQL über den Konsolen-Client psql verbinden. Dies geschieht mit folgendem Befehl:

sudo -u postgres psql template1 

Nun kann man die Datenbank für Amarok anlegen:

template1=# CREATE DATABASE amarok; 

Dies wird von psql mit einem "CREATE DATABASE" bestätigt. Nun kann man den Benutzer anlegen:

template1=# CREATE USER amarok WITH PASSWORD 'strenggeheim'; 

Dies wird von psql mit einem "CREATE ROLE" bestätigt. Last but not least muss nun dem neuen Benutzer Vollzugriff auf die Datenbank gegeben werden:

template1=# GRANT ALL PRIVILEGES ON DATABASE amarok TO amarok; 

Dies wird von psql mit einem "GRANT" bestätigt. Den Terminal-Modus von psql kann man nun mit \q beenden.

Verwendung von PostgreSQL in Amarok

Um nun Amarok dazu zu bewegen PostgreSQL anstatt SQLite zu verwenden muss man die Einstellungen öffnen ("Einstellungen → Amarok einrichten") und den Punkt Sammlung auswählen. Hier gibt es einen Punkt namens "Sammlungs-Datenbank" mit einem Dropdown "Datenbank", in dem man Postgresql auswählen kann. Nun werden weitere Eingabefelder angezeigt:

  • "Rechner": localhost (default-Einstellung)

  • "Port": 5432 (default-Einstellung)

  • "Datenbank": amarok (hier den Namen der oben angelegten Datenbank eingeben. Falls die Datenbank "amarok" heißt, braucht nichts verändert zu werden.)

  • "Benutzername": (hier den Namen des oben angelegten Benutzers eingeben. In dem Beispiel "amarok")

  • "Passwort": (hier das Passwort des oben angelegten Benutzers eingeben. In dem Beispiel "strenggeheim")

Hinweis:

Es könnte sein, dass Amarok eine Fehlermeldung anzeigt, dass der eigene Benutzer (Linux) nicht mit der Datenbank verbinden kann. In diesem Fall muss man Amarok neustarten, danach wird die Verbindung zu PostgrSQL korrekt hergestellt.

Diese Revision wurde am 13. April 2011 17:55 von Shakesbier erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Multimedia, KDE