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

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Eingedost
(161 Punkte bei 4 Stimmen)
Aufteiler
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

digikam-logo.png

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

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

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

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

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''
Tip a friend    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: 58 Punkte bei 2 Stimmen.
Den Beitrag bewerten: Gut / Schlecht
-
Re: Fehler bei openSUSE 12.1
anonym (unangemeldet), Donnerstag, 12. April 2012 21:50:05
Ein/Ausklappen

Wurde die Frage jetzt beantwortet und ich habe es nur nicht mitbekommen? Ich habe genau das gleiche Problem und komme nicht weiter...

Gruß an alle und danke für die hilfreichen Tipps!


Bewertung: 55 Punkte bei 2 Stimmen.
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: 110 Punkte bei 2 Stimmen.
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: 69 Punkte bei 1 Stimme.
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: 162 Punkte bei 6 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: 130 Punkte bei 6 Stimmen.
Den Beitrag bewerten: Gut / Schlecht

6482 Hits
Wertung: 256 Punkte (17 Stimmen)

Schlecht Gut

Tipp der Woche

Bilder vergleichen mit diffimg
Bilder vergleichen mit diffimg
Tim Schürmann, 01.04.2014 12:40, 1 Kommentare

Das kleine Werkzeug diffimg kann zwei (scheinbar) identische Bilder miteinander vergleichen und die Unterschiede optisch hervorheben. Damit lassen sich nicht nur Rätsel a la „Orignial und Fäls...

Aktuelle Fragen

programm suche
Hans-Joachim Köpke, 13.04.2014 10:43, 8 Antworten
suche noch programme die zu windows gibt, die auch unter linux laufen bzw sich ähneln sozusagen a...
Funknetz (Web-Stick)
Hans-Joachim Köpke, 04.04.2014 07:31, 2 Antworten
Bei Windows7 brauche ich den Stick nur ins USB-Fach schieben dann erkennt Windows7 Automatisch, a...
Ubuntu 13.10 überschreibt immer Windows 8 Bootmanager
Thomas Weiss, 15.03.2014 19:20, 8 Antworten
Hallo Leute, ich hoffe das ich richtig bin. Ich habe einen Dell Insipron 660 Ich möchte gerne Ub...
USB-PTP-Class Kamera wird nicht erkannt (Windows-only)
Wimpy *, 14.03.2014 13:04, 15 Antworten
ich habe meiner Frau eine Digitalkamera, AGFA Optima 103, gekauft und wir sind sehr zufrieden dam...
Treiber
Michael Kristahn, 12.03.2014 08:28, 5 Antworten
Habe mir ein Scanner gebraucht gekauft von Canon CanoScan LiDE 70 kein Treiber wie bekomme ich de...