Vejledninger/Delt database

From KDE Wiki Sandbox
This page is a translated version of the page Tutorials/Shared Database and the translation is 100% complete.

Delt database

Flere af KDE's skrivebordsprogrammer bruger en eller anden slags database. De mest populære er nok musikafspilleren Amarok, fotomanageren digiKam og Akonadi, som håndterer personlige informationer. For at forenkle installationen og begrænse programmernes afhængigheder udgives hvert af disse programmer med sin egen database, i de fleste tilfælde ved brug af SQLite. De mange særskilte databaser skaber unødvendige gentagelser og gør det vanskeligt at lave backup af dine data.

Databaseserver

Den eneste database, som understøttes af alle disse programmer er MySQL, så den vil vi bruge. Den er også meget let at konfigurere, enten på kommandolinjen eller med grafiske værktøjer.

Installation

Først skal vi installere serveren mysql. Linux-brugere vil nok foretrække at installere en pakke fra deres distribution; andre kan hente den fra MySQL's hjemmeside. Instruktioner om, hvordan man starter MySQL under maskinopstart er distributionsafhængig, men da MySQL er en populær pakke, så skulle de ikke være svære at finde. Under installationen vil du nok blive bedt om at angive en root-adgangskode. Vælg en sikker adgangskode og husk den; denne konto skal ikke bruges at skrivebordsprogrammerne, kun til databaseadministration.

Konfiguration

For konfigurationen af serveren vil vi antage, at din database ikke bruges over netværket, ikke indeholder følsomme data og at du stoler på dine programmer. Hvis du vil bruge databasen til Akonadi-data, så er det bedst, hvis du kopierer konfigurationsfilen fra Akonadis kildekodearkiv; den kan downloades herfra. Lav en kopi af din eksisterende /etc/mysql/my.cnf og erstat den så med den downloadede fil.

Advarsel
Denne fil slår netværksadgang og brugerautentifikation fra. Det sidste betyder, at ethvert program på din computer kan forbinde til den uden en adgangskode. Dette gør opsætning af programmer nemmere og er velegnet til almindelige skrivebordsbrugere.


Lav databaserne

Det første, du skal gøre, når MySQL er installeret og kører er at tilføje en separat database for hvert program. Jeg giver dem som regel navn efter det program, som skal bruge dem. Dette kan gøres med et administrative værktøj med en grafisk brugerflade, men da vi kun skal gøre det en gang er det nok lettere at skrive et par kommandoer:

$ mysql -u root -p

Ved adgangskodeprompten skriver du root-adgangskoden, som du angav, da du installerede MySQL. Nu kan vi begynde at lave databaser. Skal du fx lave en database ved navn 'amarok', så skriver du denne kommando:

mysql> create database amarok;

Amarok

Amarok har ikke brug for megen konfiguration, men det giver dig ikke nogen måde at overføre din gamle database. I Amarok skal du vælge menuen Indstillinger -> Indstil Amarok... og gå til gruppen Database. Skriv localhost i feltet Server, 3306 i Port og amarok i Database.

digiKam

Note
digiKam havde en fejl, som forhindrede dette i at virke i versioner før 2.0, så du skal have en nyere version af programmet. I version 2.0 virker det stadig ikke perfekt: det giver en fejlmeddelelse ved programstart, men tabellerne bliver udfyldt og data om albums bliver gemt korrekt.

digiKam er noget speciel, da det skal bruge to databaser: en til billed-metadata og en til miniaturer. Deres navne er ikke vigtige; jeg vælger at kalde dem digikam og digikam_thumb:

mysql> create database digikam;
mysql> create database digikam_thumb;

I digiKam er processen meget lig den i Amarok. Indstillingerne findes i menuen Indstillinger -> Indstil digiKam... -> Database.

digiKam har også et praktisk værktøj til overførsel af databaser; det findes i menuen Indstillinger -> Databasemigrering.... Udfyld dine tidligere databaseindstillinger (du behøver ikke at gøre noget, hvid du ikke har ændret disse indstillinger) i venstre side og de nye indstillinger i højre side og klik så på Migrér.

Akonadi

Lav først en database til Akonadi:

mysql -u root -p
create database akonadi;

Akonadi er ikke beregnet til at skulle bruges af almindelige brugere, så der er ingen grafisk brugerflade til den. I stedet skal du redigere ~/.config/akonadi/akonadiserverrc og give den følgende indhold:

[%General]
Driver=QMYSQL

[QMYSQL]
Name=akonadi
Host=localhost
StartServer=false
Options=
ServerPath=/usr/bin/mysqld

Gem filen, log så ud og log ind igen.