Home / Online-Artikel / Anleitung: Digikam mit MySQL zusammen nutzen

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

KDE Plasma Workspaces 4.8
(306 Punkte bei 32 Stimmen)
SUSE12
(173 Punkte bei 4 Stimmen)
Pardus Linux am Ende?
(164 Punkte bei 4 Stimmen)
OpenSuse 12.1-Service Kit 01/12
(161 Punkte bei 4 Stimmen)
Meinst Du: Patch CD Updates?
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

Foto-Datenbank

Anleitung: Digikam mit MySQL zusammen nutzen

07.09.2010 Mit der vor einiger Zeit erschienen Version 1.3 bietet Digikam nun auch die Möglichkeit eine vollwertige relationale MySQL-Datenbank zu nutzen. Die Funktion ist zwar noch nicht komplett ausgereift, bietet aber ein erhebliches Potential.

Fototools an eine Datenbank anzubinden sind keine Neuheit. Der große Vorteil von Digikam [1] & MySQL gegenüber webbasierten Anwendungen wie Gallery [2] oder Pic2base [3] besteht darin, dass die Einrichtung einer lokalen MySQL-Datenbank und der Aufbau einer Verbindung mit Digikam mit wenig bis gar keinen Kenntnissen um und über MySQL und einen Webserver zu bewerkstelligen ist.

Testsystem für die folgende Ausarbeitung ist ein Mandriva 2010.1. Ich würde mich freuen, wenn der eine oder andere an Hand dieser Ausführungen das mal auf einem anderen Basis-System testen würde und mir seine Erfahrungen dann zuarbeitet. Vielleicht kann man dann ja auch noch mehr daraus machen und auf diese Art etwas an die Digikam-Community zurückgeben.

MySQL installieren

Die relationale Datenbank MySQL ist Bestandteil aller üblichen Linux-Distributionen und kann über die jeweilige Paketverwaltung installiert werde. Die meisten Distributionen bieten dafür ein oder mehrere sogenannte Meta-Pakete an (mysql oder mysql-server, mysql-client), welche fast alles an benötigten Abhängigkeiten nach sich ziehen. In meiner Mandriva-Installation musste ich lediglich die Qt4-Bindigs von Hand nachinstallieren. Das entsprechende Paket heißt unter Mandriva qt4-database-plugin-mysql und ist notwendig, damit in Qt geschriebene Anwendungen mit MySQL kommunizieren können. OpenSuse- und Ubuntu-Nutzer installieren libqt4-sql-mysql. Fehlt das Paket, dann zeigt Digikam beim Start eine Fehlermeldung an.

Damit MySQL funktioniert, muss der Server gestartet werde. In Mandriva macht man das im Kontrollzentrum über System | Ein- oder Ausschalten von Systemdiensten. Unter OpenSuse erfolgt das in ähnlicher Weise über den Runlevel-Editor in YaST. Auf jeder Distribution funktionieren sollte der als Administrator ausgeführte Befehl

/etc/init.d/mysqld start

MySQL-Root einrichten

Besitzer eines Rechners mit Debian oder dessen Verwandten wie zum Beispiel alle Ubuntu-Derivate können diesen Abschnitt überspringen – diese Distributionen setzen das Passwort für den Datenbankbenutzer "root" bereits bei der Installation der Pakete eingerichtet.

Unter den meisten Distributionen arbeitet der MySQL-Server nach dem Start ohne Root-Passwort und es gibt zudem einen anonymen Account. Das hat Vor- und Nachteile, ist aber nicht unbedingt sicher. Es empfiehlt sich deshalb, für den den MySQL-Root-Account ein Passwort zu setzen. Diesen Benutzer darf man auf keinen Fall mit dem Systemadministrator root in einen Topf werfen. Das sind zwei völlig verschieden Dinge.

Es gibt für MySQL eine Reihe von Hilfsmitteln, die auch mit graphischen Oberflächen arbeiten – das praktischste und schnellste Werkzeug ist aber immer noch die Konsole, und darin die MySQL-Shell. Also einfach ein Terminalfenster öffnen und hier den Befehl

mysql -u root

eingeben und mit der Enter-Taste bestätigen. Das öffnet die besagte MySQL-Shell, in der man nun weitere Anweisungen übergeben kann (Abbildung 1).

Abbildung 1: Nach dem Login in den MySQL-Datenbankserver ändert sich der Prompt zu mysql >.

Die Anweisung zum setzen des Passwortes für den Datenbank-Benutzers root lautet im Beispiel

set password for root@localhost = password('MySQL-root_Password');

Wobei das Passwort MySQL-root_Password natürlich von mir ein willkürlich gewählter Begriff ist und so mit Sicherheit von mir nicht verwendet wird (Abbildung 2). Also selber was ausdenken! Und dabei die üblichen Regeln für die Passwortvergabe beachten.

Abbildung 2: Zur Sicherheit sollte man für den MySQL-Admin ein Passwort setzen.

Auch hier sind übrigens nur im deutschen übliche Sonderzeichen oder Umlaute eher kontraproduktiv. Diese Eingabe mit [Enter] bestätigen und im Anschluss MySQL anweisen, die Änderungen zu übernehmen. Das funktioniert über den MySQL-Befehl FLUSH PRIVILEGES; (Abbildung 3).

Abbildung 3: Über den Befehl flush privileges; wendet MySQL die neuen Rechte an.

Bei allen MySQL-Befehlen darauf achten, dass diese Befehle für die Weitergabe (und vor der Bestätigung über die [Enter]-Taste) mit einem Semikolon (;) geschlossen werden müssen. Hat man das mal vergessen, dann kann man das in der nächsten Eingabezeile nachholen.

Damit ist das Passwort für den MySQL-Administrator gesetzt und man kann die MySQL-Shell mit dem Befehl quit; verlassen.

Abbildung 4: Über den Befehl quit; verlässt man den lokalen MySQL-Server.

Ich habe mir an dieser Stelle angewöhnt, MySQL über den Befehl

/etc/init.d/mysqld restart

neu zu starten. Wirklich notwendig sollte das aber nicht sein!

Alternativ kann man das Passwort auch über das Tool mysqladmin setzen:

sudo /usr/bin/mysqladmin -u root password 'geheimespasswort''
Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare
Fehler bei openSUSE 12.1
Rene (unangemeldet), Montag, 28. November 2011 11:00:40
Ein/Ausklappen

Hi,

habe es nach dieser Beschreibung mit openSUSE 12.1 eingerichtet. Lief aller sehr gut. Nu beim starten von digikam bekomme ich folgende Fehlermeldung:

Sie besitzen nicht die nötigen Rechte für die Datenbank.
Sie besitzen fplgende Rechte nicht:
CREATE TRIGGER
Überprüfen Sie die Rechte Ihrer Datenbank und starten Sie digiKam neu.

Was muss ich in der Datenbank hinzufügen?

Gruß
Rene



Bewertung: Noch keine Bewertung abgegeben!
Den Beitrag bewerten: Gut / Schlecht
Digikam 1.8 und externem NAS-Server
Pierre (unangemeldet), Montag, 07. Februar 2011 15:35:31
Ein/Ausklappen

Auch von mir ein herzliches Dankeschön für die gute Anleitung.
Ich habe Digikam in der Version 1.8 unter SABAYON-Linux laufen.
Die MYSQL-Datenbank läuft extern auf einer kleinen Buffalo Linkstation.
Digikam kann dabei sehr gut mit der externen Datenbank umgehen. Man muss dazu jedoch die Datenbank in MYSQL für den jeweiligen Rechner freigeben. Das erreicht man, wenn man im Befehl "> GRANT ALL ON digikam .* TO digikam_user@'localhost' IDENTIFIED BY 'meinpasswort';" statt "localhost" die IP des Client-Rechners einträgt oder mit IP/MASK einen ganzen IP-Bereich freigibt.

Viele Grüße

Pierre


Bewertung: 69 Punkte bei 1 Stimme.
Den Beitrag bewerten: Gut / Schlecht
Kubuntu 10.4 und Digikam 1.5
webmarwell (unangemeldet), Montag, 15. November 2010 11:27:46
Ein/Ausklappen

Unter Kubuntu 10.4 mit Digikam 1.5 und MySQL bin ich wie hier beschrieben vorgegangen: Keine Schwierigkeiten, auch nicht beim Import der alten sqlite Datenbank per "Datenbank-Migration"s-tool. Danke für die Anleitung!


Bewertung: Noch keine Bewertung abgegeben!
Den Beitrag bewerten: Gut / Schlecht
Danke und Fehler :)
Steve` (unangemeldet), Sonntag, 19. September 2010 06:44:36
Ein/Ausklappen

Moin,
danke zunächst einmal für die Anleitung. Beim entscheidenden Einrichten der mysql-Datenbank hat sich jedoch ein Buchstabendreher eingeschlichen:

> GRANT ALL ON digikam .* TO digikam_user@loclahost IDENTIFIED BY 'meinpasswort';

Hier müsste es besser 'localhost' heissen, sonst klappt nach Einrichtung die Verbindung zur Datenbank nicht.

Viele Grüsse ...
Steve`


Bewertung: 143 Punkte bei 5 Stimmen.
Den Beitrag bewerten: Gut / Schlecht
Danke
Mahmud A. (unangemeldet), Mittwoch, 08. September 2010 15:29:15
Ein/Ausklappen

Danke Heinz-Stefan! Nach einer solchen Anleitung habe ich schon öfter gesucht und nichts gefunden!
Mahmud


Bewertung: 121 Punkte bei 4 Stimmen.
Den Beitrag bewerten: Gut / Schlecht

2639 Hits
Wertung: 228 Punkte (14 Stimmen)

Schlecht Gut

Tipp der Woche

Knoppix: Bootvorgang mit Cheatcode beschleunigen
Knoppix: Bootvorgang mit Cheatcode beschleunigen
Marcel Hilzinger, 18.01.2012 21:05, 0 Kommentare

Die Bootsequenz der Live-Distribution sucht beim Start zunächst auf Festplatten, dann auf USB-Sticks und erst dann in den DVD-Laufwerken (/dev/sr* oder /dev/scd*) nac...

Aktuelle Fragen

OpenSuse 12.1-Service Kit 01/12
Christoph-J. Walter, 28.01.2012 08:52, 2 Antworten
Hallo Gemeinde, ich habe 12.1 neu installiert. Alles in Ordnung! Nun möchte ich das Service Kit (...
Ubuntu 11.10 konfigurieren
Michael Hinz, 27.01.2012 17:52, 0 Antworten
Ubuntu läuft bei mir. Allerdings nur, wenn die Daten-CD eingelegt ist. Unabhängig von Bios-Einste...
SUSE12
Jörg Müller, 25.01.2012 14:27, 5 Antworten
Hallo Gemeinde Ich habe schon ziemlich lange auf einem Rechner Linux laufen, bin also nicht ganz...
Hat jemand Erfahrung beim Einsatz einer Kinect / OpenNI?
GoaSkin , 24.01.2012 23:35, 0 Antworten
Hallo, ich habe mir eine Kinect zugelegt, um zu schauen, was man damit unter Linux so machen k...
Kollaboration - Zeichnen auf mehreren Geräten gleichzeitig
Ludwig jun. B., 19.01.2012 11:17, 4 Antworten
Schönen guten Tag, ich suche aktuell eine Software für Linux/Windows (eines von beiden), welch...