[[Vorlage(Archiviert)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] [:Paketquellen_freischalten: Bearbeiten von Paketquellen] }}} {{{#!vorlage 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. }}} [[Inhaltsverzeichnis(2)]] = 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. {{{#!vorlage 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 [:MySQL: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: {{{#!vorlage Befehl mysql -u root }}} Mit Passwort ist folgender Befehl zu verwenden: {{{#!vorlage Befehl 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: {{{#!vorlage Befehl 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: {{{#!vorlage Befehl 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. {{{#!vorlage Befehl 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"'') {{{#!vorlage 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 [:PostgreSQL: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: {{{#!vorlage Befehl sudo -u postgres psql template1 }}} Nun kann man die Datenbank für Amarok anlegen: {{{#!vorlage Befehl template1=# CREATE DATABASE amarok; }}} Dies wird von psql mit einem "CREATE DATABASE" bestätigt. Nun kann man den Benutzer anlegen: {{{#!vorlage Befehl 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: {{{#!vorlage Befehl 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"'') {{{#!vorlage 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. }}} # tag: Multimedia, KDE