Amarok 2 Datenbank abfragen

Tja, neuer Rechner, neues OS, neue Version von Amarok. Jetzt 2.4 statt 1.4.

Leider wird die Datenbank nicht mehr in sqlite gespeichert (~/.kde4/share/apps/amarok/collection.db), sondern in mysql embedded (~/.kde4/share/apps/amarok/mysqle).

Früher habe ich meine Queries mit wxSQLite+ abgesetzt, wie in Amarok-Datenbank per Skript abfragen beschrieben.

Ich hab schon nach einem Ersatz gesucht, aber ich finde nur Entwickler-Informationen zur Entwicklung mit MySQL embedded, aber keine allgemeinen Tools, mit dem ich beliebige Datenbanken abfragen könnte.

Gibt es nicht sowas wie einen Query Analyzer für MySQL embedded? MySQL Workbench 5.2.31 will sich offenbar immer mit einem Server verbinden.

Nachtrag: in der Tat braucht man einen Server. Das ist der ganz normale mysqld, der nur mit den richtigen Parametern aufgerufen werden muss. Die Lösung habe ich auf unixboard.de gefunden: Amarok2 MySQL Datanbank auslesen oder verbinden
Was dort nicht steht: man darf Amarok nicht laufen haben. Außerdem muss man wissen, wie man den Server wieder beendet. Um mir das nicht immer merken zu müssen, habe ich mir ein kleines Skript geschrieben, welches das alles verpackt:


#!/bin/sh
cd $(kde4-config --path data | cut -f1 -d:)/amarok
/usr/bin/mysqld_safe 
  --defaults-file=$(pwd)/my.cnf 
  --default-storage-engine=MyISAM 
  --datadir=$(pwd)/mysqle 
  --socket=$(pwd)/sock 
  --skip-grant-tables &

sleep 2

if (test -S $(pwd)/sock) ; then

cat

Das Datenbank-Schema hat sich auch ein wenig geändert gegenüber der 1.4er Version. Eine Liste aller Alben eines Jahres bekommt man jetzt z.B. mit

select distinct
    artists.name as Artist
    ,albums.name as Album
from tracks
left join artists on artists.id = tracks.artist
left join albums on albums.id = tracks.album
left join years on years.id = tracks.year
where
    years.name = '2011'
order by
    artists.name
    ,albums.name
Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s