Linux Bibel online

Creative Commons Lizenzvertrag
Dieses Werk ist lizenziert unter einer Creative Commons Namensnennung - Nicht-kommerziell - Weitergabe unter gleichen Bedingungen 3.0 Österreich Lizenz.

Change language by Google translator: ...

MySQL ist die am häufigsten unter Linux genutzte Datenbank, es ist eine relationale Datenbank entwickelt von der Firma Oracle die früher beispielsweise auch Open Office entwickelt hat. Nun, bei der unter Linux eingesetzten Variante handelt es sich um die open Source-Version der Datenbank - inzwischen gibt es aber natürlich auch eine komplett unabhängige Version die zu MySQL komplett kompatibel ist - diese nennt sich MariaDB.

Wozu könnte man nun Datenbanken nutzen? Nun, Datenbanken können mit großen Mengen an Daten besser und schneller umgehen, solche lassen sich speichern, mit anderen Daten wie gewünscht verbinden und vor allem schneller finden durch unzählige verschiedene Methoden. Selbst wenn man es nicht mit tausenden von Adressen, Lager-Plätzen oder ähnlichem zu tun hat kann man aus einer Datenbank seine Vorteile ziehen, so haben zum Beispiel viele Nutzer große Sammlungen von Bildern, Videos oder Musik-Dateien am Rechner die man dann mit speziellen Programmen verwaltet - Beispiele dazu wären etwa Digikam oder Amarok - ersteres verwaltet Bilder und das zweite Musik - besonders bei vielen Dateien wird die Geschwindigkeit deutlich erhöht wenn man solche an eine Datenbank an bindet.

Ob man nun den MySQL-Server oder MariaDB verwendet an dem Projekt an dem wirklich keine Firma hinten dran hängt ist eigentlich komplett egal - es Sache des Geschmacks - nur KDE-Nutzer müssen zur Zeit noch mit dem Produkt von Oracle leben, aber auch dies wird sich in Bälde ändern. Beide Datenbanken sind wie schon beschrieben voll kompatibel, auch die Befehle sind die selben.

SQL-Datenbank installieren

Wie üblich handelt es sich hier um die Beschreibung von auf Debian basierenden Systemen zu denen auch Ubuntu, Kubuntu, Linux Mint und viele weitere gehören - unter anderen Betriebssystemen ist es möglich das sich die Pakete anders oder ähnlich nennen. Unter auf Debian basierenden Systemen installieren Sie die gewünschte Datenbank ganz einfach über die Paket-Verwaltung durch die Pakete "mysql-server" oder "mariadb-server". Dadurch werden die jeweiligen Datenbanken sowie nötige Klients für das Terminal installiert, während der Installation werden Sie gefragt welches Passwort Sie für den Nutzer "root" nutzen möchten - dies ist nicht das Passwort des System-Administrators root und sollte zur Sicherheit auch anders lauten, nach zweimaliger Eingabe des Passwortes ist die Installation für den Nutzer abgeschlossen, die Datenbank startet automatisch. Es gibt natürlich auch grafische Klients - diese werden wir aber später kennen lernen.

Datenbanken nutzen

Wie bei der Installation beschrieben starten beide Datenbanken automatisch gestartet und sind am Terminal zu nutzen, als erstes wollen wir uns dazu einfach einmal an der Datenbank anmelden, dies geschieht durch den Befehl:

mysql -u root -p

Der Befehl "mysql" lautet bei beiden Versionen der Datenbank gleich, durch die Option "-u" gibt man den Nutzer an der sich anmelden soll - in diesem Fall gibt es ja auch noch keinen weiteren als "root" und mit der Option "-p" wird man nach dem Passwort gefragt - eine übliche Geschichte. Nun wird man nach dem Passwort des Nutzers gefragt:

MySQL-Server und MariaDB-Server - die SQL-Datenbanken unter Linux - Anmeldung

MySQL-Server und MariaDB-Server - die SQL-Datenbanken unter Linux - Anmeldung

Nun findet man sich vor dem Eingabe-Prompt der Datenbank wieder:

mysql>

Hier kann man nun seine Befehle abgeben - wichtig ist das jeder Befehl mit einem ";" abgeschlossen wird. Wir werden hier nicht übertrieben in die Tiefe gehen, wir werden Datenbanken und Nutzer anlegen, deren Rechte fest legen - den Rest erledigt man dann sowieso zumeist mittels grafischer Software. Sollte Sie doch etwas weiter gehen wollen finden Sie durch die Installation der jeweiligen Datenbank die vollkommene Dokumentation unter "/usr/share/doc/mysql-server" und "/usr/share/doc/mysql-client" sowie "/usr/share/doc/mariadb-server" und "/usr/share/doc/mariadb-client".

Als erstes wollen wir uns einfach einmal eine Datenbank anlegen, da wir schon ganz oben Digikam besprochen haben möchte ich gleich einmal für diese Software eine solche anlegen.

mysql> create database if not exists digikam; mysql> create user 'digikam'@'localhost' identified by 'das_passwort'; mysql> grant usage on *.* to 'digikam'@'localhost' identified by 'das_passwort'; mysql> grant all privileges on digikam.* to 'digikam'@'localhost'; mysql> flush privileges;

Die ganze Geschichte bedeutet nichts anderes als: mittels "create database if not exists digikam;" legt man sich eine Datenbank namens "digikam" am falls diese noch nicht existiert, durch "create user 'digikam'@'localhost' identified by 'das_passwort';" legt man sich einen Nutzer namens "digikam" an der nur vom lokalen System ("localhost") aus auf die Datenbank zugreifen kann, hier könnte man beispielsweise auch eine IP-Adresse angeben von der der Nutzer aus zugreifen kann, mit "grant all privileges on digikam.* to 'digikam'@'localhost';" hat der Nutzer "digikam" vollen Zugriff auf die Datenbank "digikam" - er darf also etwa dort Tabellen anlegen, löschen und ändern und durch "flush privileges;" hat er dort jedes Recht.

Durch den Befehl:

mysql> quit

meldet man sich von der Datenbank wieder ab und landet wieder am Prompt des Terminals

Datenbank sichern

Natürlich sollte man hin und wieder auch eine Sicherung der Datenbank anlegen, dies gelingt ganz einfach durch das bei beiden Datenbanken automatisch integrierte Werkzeug "mysqldump", natürlich kann auch dies nur der Nutzer root - und zwar nur der Administrator des Systems und nicht der der Datenbank. Hier ein einfaches Beispiel:

mysqldump -u root -p --all-databases > backup.sql

Dadurch wird die Datei "backup.sql" im aktuellen Verzeichnis in dem sich der Nutzer gerade befindet an gelegt, um die Sicherung zurück zu spielen genügt der Befehl:

mysql -u root -p < backup.sql

Datenbank grafisch verwalten und abfragen

Schön gesagt kann man auf dem Termial alles mit der Datenbank erledigen, man kann Datenbanken anlegen, darin Tabellen anlegen, deren Eigenschaften bestimmen und Werte einfügen und abfragen - dies macht jedoch nur dann wirklich Sinn wenn man etwa eine Webseite komplett mit der Hand durch die Datenbank gesteuert schreiben möchte. Im Falle von Office-Geschichten jeder Art und ähnlichen Dingen wird man wohl eher grafische Software nutzen wollen bei der man keine Befehle können muss. Eine der bekanntesten Anwendungen um die Datenbank zu verwalten, auch wenn diese auf einem anderen entfernten Rechner sitzt ist "phpmyadmin", durch das selbe Paket wird diese Software unter auf Debian basierenden Systemen auch durch die Paket-Verwaltung installiert, währen der Installation wird auch nach dem root-Passwort der Datenbank gefragt und wenn nicht vorhanden ein Webserver installiert über den die Software angezeigt wird, die Software muss unbedingt auf dem System installiert sein auf dem auch die Datenbank liegt. Gestartet wird die Software einfach aus dem Anwendungsmenü heraus, alternativ starten Sie über den Schnellstarter (Alt + F2) oder über das Terminal durch den Befehl:

phpmyadmin

MySQL-Server und MariaDB-Server - die Datenbank unter Linux

MySQL-Server und MariaDB-Server - die Datenbank unter Linux - Phpmyadmin

Nach der Angabe des Nutzers "root" der Datenbank und dessen Passwortes erhalten Sie Zugriff über alle Funktionen ohne auch nur einen Befehl zu kennen. Ist Phpmyadmin auf einem entfernten System installiert geben Sie einfach die Adresse des Servers ein und anschließend das Verzeichnis - also etwa "http://adresse.org/phpmyadmin".

Noch etwas weiter als Phpmyadmin geht Kexi, die Software ist direkt eine Alternative zu Microsoft Access und kann so nicht nur auf lokale Datenbanken zugreifen sondern auch auf entfernte im lokalen Netzwerk oder im Internet, installiert wird diese Software auf dem lokalen System von wo aus man auf die Datenbank zugreifen möchte - unter auf Debian basierenden Systemen ganz einfach über die Paket-Verwaltung durch das Paket "kexi" inklusive dem Paket "kexi-mysql-driver", dazu empfehle ich die passende Sprach-Datei die man ganz einfach durch den Begriff "calligra-l10n-" sucht, man installiert nun das Paket mit dem passenden Sprach-Kürzel, für deutsch also "calligra-l10n-de".

Gestartet wird die Software aus dem Anwendungsmenü heraus - Bereich "Büro", alternativ starten Sie über den Schnellstarter (Alt + F2) oder über das Terminal durch den Befehl:

kexi

MySQL-Server und MariaDB-Server - die Datenbank unter Linux - Zugriff mit der grafischen Anwendung Kexi

MySQL-Server und MariaDB-Server - die Datenbank unter Linux - Zugriff mit der grafischen Anwendung Kexi

Wie schon beschrieben ist Kexi absolut eine Access-Alternative die sogar noch um einiges mehr kann, in Kürze wird sich dazu auch ein Artikel dazu auf der Linux Bibel finden lassen.

Auch Libre Office lässt sich einfach mit einer SQL-Datenbank verbinden - der einfachste Fall wäre etwa eine Adress-Datenbank für Serien-Briefe. Dazu installieren Sie zusätzlich zur Office-Suite unter auf Debian basierenden Systemen über die Paket-Verwaltung das Paket "libreoffice-mysql-connector" und starten die Datenbank-Anwendung der Suite neu. Wählen Sie den Eintrag "Verbindung zu einer neuen Datenbank erstellen" und stellen auf "MySQL" um und klicken auf "Weiter". Gehen Sie nun auf "Direkte Verbindung", geben nach einem Klick auf ""Weiter" den Server oder "localhost" an und geben dann Benutzername und Passwort an - Fertig.

Suche Nach oben Startseite Mail an den Autor Links rund um Linux

SiteLock