Wichtige Befehle für die Administration von MariaDB (MySQL)

USB-Stick-1

Für die Administration von Datenbanken innerhalb eines Datenbankmanagementsystems wie MariaDB (MySQL), sind einige grundlegende Befehle von besonderer Bedeutung. In diesem Beitrag lernen Sie die wichtigsten dieser Befehle kennen.

Vorausgesetzt wird hier eine Installation von MariaDB (MySQL), welche Sie auch in einem unserer anderen Beiträge nachlesen und nachvollziehen können. Die darunter liegende Debian 9 Grundinstallation ist ebenfalls in einem Beitrag zu finden.

MariaDB (MySQL) Login

Für die Eingabe von SQL Befehlen wird zunächst eine Anmeldung an das Datenbankmanagementsystem über ein beliebiges Terminal des Debian Systems durchgeführt.

mysql -u [Benutzer] -p [Passwort]

Bei Weglassen der Anmeldeparameter wird direkt der Root-Benutzer angemeldet:

msql

SQL Befehle

Nach der Anmeldung können beliebige SQL Befehle ausgeführt werden. Zu beachten ist dabei, dass jeder Befehl mit ; oder \g enden muss!

Datenbanken

show databases - Alle Datenbanken anzeigen

Mit dem Befehl show databases ist es möglich, alle Datenbanken anzuzeigen.

show databases;

Im Terminal wird dann eine Liste aller Datenbanken ausgegeben.

Beispiel: Datenbanken einer MariaDB Neuinstallation anzeigen

Eingabe:

show databases;

Ausgabe:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)

create database - Datenbank erstellen

Mit create database können neue Datenbanken erstellt werden. Die Syntax lautet folgendermaßen:

create database [Datenbankname];

Es ist zu beachten, dass bestimmte Sonderzeichen, wie beispielsweise das '-' nicht in dem Namen der Datenbank verwendet werden dürfen.

Beispiel: Erstellen einer neuen Datenbank

Eingabe:

create database edv_beratung;

Ausgabe (show databases):

+--------------------+
| Database           |
+--------------------+
| edv_beratung       |
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
4 rows in set (0.00 sec)

drop database - Datenbank löschen

Falls eine Datenbank wieder gelöscht werden soll, wird der folgende Befehl verwendet:

drop database [Datenbankname];

use - Auf eine Datenbank wechseln

Mit use kann der aktuell angemeldete Benutzer auf eine Datenbank wechseln, solange die benötigten Rechte vorhanden sind.

use database [Datenbankname];

Datenbank-Benutzer

create user - Neuen Datenbank-Benutzer erstellen

Für die Erstellung eines neuen Datenbank-Benutzers wird der Befehl create user verwendet. Das Passwort für den neuen Benutzer wird über den Zusatz identified by festgelegt.

Wichtig ist, dass bei der Angabe des Benutzernamen nicht die Hochkommata ' mit den Akzent-Zeichen ´ bzw. ` verwechselt werden. Hochkommata werden unter Linux dann verwendet, wenn der darin stehende Text von der Shell nicht verändert oder interpretiert werden soll.

create user '[Benutzername]'@'localhost' identified by '[Passwort]';
Beispiel: Datenbank-Benutzer erstellen

Eingabe:

create user 'hellberg'@'localhost' identified by 'einkompliziertespasswort';

Bedeutung:

Der Benutzer 'hellberg' wird erstellt. Er erhält das Passwort 'einkompliziertespasswort'.

drop user - Datenbank-Benutzer löschen

Der Befehl drop user wird verwendet, um einen Datenbank-Benutzer wieder zu löschen.

drop user '[Benutzername]'@'localhost';

Ist der zu löschende Benutzer gerade angemeldet, so wird er erst nach dem Logout entfernt. Wenn der Benutzer nicht existiert, wird ein Fehler ausgegeben. Dieser lässt sich jedoch auch durch den Zusatz if exists umgehen:

drop user if exists '[Benutzername]'@'localhost';

Es können auch mehrere Benutzer gleichzeitig gelöscht werden. Dazu werden die Benutzernamen, durch Kommata getrennt, aufgelistet.

Beispiel: Datenbank-Benutzer löschen

Eingabe:

drop user 'hedv'@'localhost';

Bedeutung:

Der Benutzer 'hedv' wird gelöscht.

grant all privileges - Rechtevergabe für Datenbanken

Mit dem Befehl grant all privileges können Datenbank-Benutzern alle Rechte für bestimmte Datenbanken vergeben werden.

grant all privileges on [Datenbankname].* '[Benutzername]'@'localhost';

Der Befehl vergibt einem Benutzer alle Rechte für alle Tabellen der gewählten Datenbank.

Beispiel: Rechtevergabe

Eingabe:

grant all privileges on it_consulting 'hedv'@'localhost';

Bedeutung:

Dem Benutzer 'hedv' werden alle Rechte auf die Datenbank 'it_consulting' vergeben.

Datenbank-Dump

Die folgenden Befehle werden in einem Terminal, ohne vorige Anmeldung an MariaDB, ausgeführt. In den Optionen der beiden Befehle können auch, ähnlich wie beim MariaDB Login, Anmeldedaten eines Benutzers übergeben werden, falls kein Root-Benutzer verwendet werden soll.

mysqldump - Datenbank-Dump erstellen

Mit mysqldump werden Dumps von ganzen Datenbanken erstellt. Diese können zu einem späteren Zeitpunkt verwendet werden, um die Datenbanken wiederherzustellen. Um einen Dump einer bestimmten Datenbank zu erstellen, benutzen Sie folgenden Befehl:

mysqldump [Optionen] [Datenbankname] > [Dateiname].sql

Eine Auswahl mehrerer durch Kommata getrennter Datenbanken ist durch die Option --databases möglich:

mysqldump --databases [Datenbankname],[Datenbankname],... > [Dateiname].sql

Alternativ können auch alle Datenbanken gleichzeitig ausgegeben werden:

mysqldump --all-databases > [Dateiname].sql
Beispiel: Datenbank-Dump erstellen

Eingabe:

mysqldump edv_beratung > datenbank_dump.sql

Bedeutung:

Es wird ein Dump der Datenbank 'edv_beratung' erstellt und in der Datei 'datenbank_dump.sql' im aktuellen Verzeichnis abgelegt.

Datenbank-Dump wiederherstellen

Ein Datenbank-Dump kann leicht wiederhergestellt werden:

mysql [Optionen] [Datenbankname] < [Dateiname].sql
Beispiel: Datenbank-Dump wiederherstellen

Eingabe:

mysql edv_beratung < datenbank_dump.sql

Bedeutung:

Der Datenbank-Dump 'datenbank_dump.sql' wird in die Datenbank 'edv_beratung' importiert.

Abonniere JETZT unseren Newsletter!


Verpasse nie wieder neue Beiträge und exklusive Insider-Only-Inhalte!

Joel Benseler

Click Here to Leave a Comment Below

Leave a Comment: