Contents |
Amarok 2.2 og senere understøtter en ekstern MySQL-database som motor.
Først skal du installere en MySQL-server. På en Debian-baseret distribution som Ubuntu kan du køre
sudo apt-get install mysql-server mysql-client
i en konsol for at installere den. Du vil blive bedt om at angive et password til databasens root-konto. Pakken mysql-client skal bruges til at udføre nogle af kommandoerne i dette dokument, men den er ikke nødvendig for at bruge Amarok.
Forbind til den lokale database med
mysql -u root -pDu vil blive bedt om passwordet for MySQL's root-bruger. Du vil få promptet
mysql>
Lav en ny bruger, amarokuser med passwordet amarokpass ved at skrive kommandoen
CREATE USER 'amarokuser'@'localhost' IDENTIFIED BY 'amarokpass';
Amarok skal bruge sin egen database, som laves med
CREATE DATABASE amarokdb;
Giv den nye bruger adgang til databasen ved kommandoen
GRANT ALL ON amarokdb.* TO 'amarokuser'@'%' IDENTIFIED BY 'amarokpass';
hvor % er et jokertegn, som lader alle værter forbinde til databasen. Brug nu erklæringen
FLUSH PRIVILEGES;
til at genindlæse diverse interne mellemlagre, som bruges af MySQL. Endelig afsluttes MySQL-promptet med
exit
Som standard kan serveren kun tilgås fra den lokale vært. For at ændre dette skal du redigere filen /etc/mysql/my.cnf og tilpasse adressen nær bind-address til den, som din server lytter til på netværket. 0.0.0.0 lytter på alle grænseflader. Efter dette skal du genstarte serveren med
sudo service mysql restart
Åbn konfigurationsdialogen med menuen . Aktivér valgboksen og angiv brugerdata.
Du skal genstarte Amarok for at ændringerne træder i kraft.
Hvis du ønsker at videreføre den statistik osv., som du har i den indlejrede MySQL-database fra før Amarok 2.2, så kan du gøre følgende: Start først Amarok 2.2+ op mindst en gang for at give databasen en chance til at opdatere til den seneste udgave af skemaet.
Stands derefter den kørende MySQL-tjeneste med
sudo /etc/init.d/mysql stop
og start en MySQL-dæmon fra din mappe ~/.kde4/share/apps/amarok (--defaults-file SKAL være det første tilvalg):
/usr/sbin/mysqld --defaults-file=`pwd`/my.cnf --default-storage-engine=MyISAM --datadir=`pwd`/mysqle --socket=`pwd`/sock --skip-grant-tables
Tilvalget skip-grant-tables betyder, at du kan bruge et hvilket som helst password og brugernavn til at forbinde til den. 'localhost' vil ikke fungere, MySQL-klienten vil så prøve at bruge en Unix-socket. Brug 127.0.0.1 som vært får det til at fungere. Nogle systemer begrænser denne adgang med apparmor eller SELinux. De kan slås fra midlertidigt med
sudo /etc/init.d/apparmor stop
Kør nu mysqldump med tilvalget -S for at specificere den lokale vært. Dette vil dumpe din gamle indlejrede database ud til en SQL-fil.
mysqldump -S sock amarok > amarok.mysql
Du kan nu genstarte din MySQL-tjeneste og indlæse SQL-filen i din MySQL-server. Du skal allerede have kørt GRANT-kommandoen ovenfor og lavet en database til Amarok ("CREATE DATABASE amarok;"):
sudo /etc/init.d/mysql stop mysql -u amarokuser -p amarok < amarok.mysql
| Note |
|---|
| Du skal måske genscanne din samling i Amarok efter at have gjort dette. |