MySQL MariaDB Datenbank verwalten in der Shell
MySQL ist im Linux Alltag längst Standard, irgendwann stösst jeder auf mindestens eine der beiden Open Source Datenbanken, gemeint sind die relationalen Datenbanken MariaDB und PostgreSQL. Deswegen wird sich aber nicht gleich jedermann als SQL Crack behaupten wollen, wenn gleich sich davon ganz fernhalten auch keine Option ist. Die meisten Arbeiten können mit einer Handvoll Befehle in der Kommandozeile erledigt werden. In diesem Beitrag führe ich kurz durch die Kommandos von MySQL oder MariaDB, um eine neue Datenbank zu erstellen, sie aufzulisten und eine Datenbank zu löschen.
Inhalt
MySQL SHOW DATABASES
MySQL CREATE DATABASE
MySQL DROP DATABASE
MySQL CREATE USER
MySQL SHOW USERS
MySQL ALTER USER
MySQL MariaDB Datenbank Konsole Client starten
Zunächst muss man sich am MySQL oder MariaDB Server anmelden. Dazu verbindet man sich über SSH zum Server und wird zu root.
Der Anmeldeprozess gestaltet sich einfach. Ist man einmal mit dem Server verbunden, nutzt man den MySQL-Client für die Anmeldung.
$ mysql -u root
Wenn kein Kennwort für den MariaDB Datenbank Benutzer root gesetzt wurde, kann man auf den Parameter -p verzichten. Klappt alles, erscheint folgende Ausgabe:

Das MariaDB-Root-Passwort sollte ein anderes als das System-root-Passwort sein, dazu kann das Skript
mariadb_secure_installation
ausgeführt werden. Dieses Skript legt das MariaDB-Root-Passwort fest, deaktiviert die Remote-Root-Anmeldung und entfernt anonyme Benutzer. Wir empfehlen, jede Frage mit dem Zeichen „Y“ für „Ja“ zu beantworten.
[root@debian:~]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 63136
Server version: 10.3.31-MariaDB-0+deb10u1 Debian 10
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
Direkt nach der Anmeldung als root kann man schon neue Datenbanken erstellen oder bestehende Datenbanken anzeigen.
MySQL MariaDB SHOW DATABASES
Wenn man ein neu installiertes System mit einer neuen MySQL oder MariaDB Instanz vor sich hat, dann sind noch nicht all zu viele Datenbanken vorhanden. An dieser stelle lässt man sich zunächst einmal alle Datenbanken anzeigen, indem das SQL Kommando SHOW DATABASES; eingegeben wird. Achte darauf, dass jedes Kommando in der SQL Konsole mit Semikolon ; abschließt.
MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
3 rows in set (0.001 sec)
MariaDB [(none)]>
MySQL MariaDB CREATE DATABASE
Das Erstellen einer neuen Datenbank unter MySQL oder MariaDB ist genauso einfach, wie das auflisten der bestehenden Datenbanken. Nutze einfach das SQL Kommando CREATE DATABASE; um eine neue Datenbank mit dem Namen meinblog zu erstellen.
mysql> CREATE DATABASE meinblog;
Query OK, 1 row affected (0.00 sec)
mysql>
Wenn alles geklappt hat, dann ist jetzt eine neue MariaDB – MySQL Datenbank unter dem Namen „meinblog“ erstellt. Wenn man sich jetzt alle Datenbanken anzeigt, sollte die neue Datenbank in der Liste erscheinen:
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| meinblog |
| mysql |
| performance_schema |
+--------------------+
4 rows in set (0.00 sec)
mysql>
MySQL MariaDB DROP DATABASE
Beim Löschen einer MariaDB – MySQL Datenbank sollte man sich vergewissern, dass die richtige Datenbank vom Server gelöscht wird. Denn einmal gelöscht, ist die Datenbank im Regelfall endgültig weg.
Zunächst alle Datenbanken auf dem Datenbank-Server auflisten. Dazu nutze wieder das Kommando SHOW DATABASES; in der MySQL-Konsole.
Kopiere den Namen der Datenbank in die Zwischenablage, die gelöscht werden soll.
Für das Löschen einer Datenbank ist das SQL-Kommando DROP DATABASE; zuständig. Die Syntax ist ähnlich wie beim Erstellen einer Datenbank.
mysql> DROP DATABASE meinblog;
Query OK, 0 rows affected (0.01 sec)
mysql>
Der MariaDB – MySQL-Client ist an dieser Stelle nicht sehr gesprächig. Signalisiert uns aber mit einem „OK“, dass das Kommando erfolgreich ausgeführt wurde.
Nun wieder mit dem Kommando SHOW DATABASES; überprüfen, ob die Datenbank erfolgreich entfernt wurde.
Den MySQL-Client verlssen mit quit.
MariaDB [(none)]> quit
Bye
MySQL MariaDB CREATE USER
Es wird empfohlen ein Benutzer für die neu erstellte MariaDB – MySQL Datenbank zu erstellen, hierzu dient das Kommando CREATE USER.
CREATE USER 'dbuser'@'localhost' IDENTIFIED BY 'securepassword';
Der neue Benutzer dbuser mit dem Passwort securepassword wird angelegt, die Platzhalter durch Namen und Passwort ersetzen.
Dazu die rechte für den Benutzer dbuser für die Datenbank meinblog erteilen.
GRANT ALL PRIVILEGES ON meinblog.* TO "dbuser"@"localhost" IDENTIFIED BY "securepassword";
Zum Schluss die übergeordneten root rechte entfernen.
FLUSH PRIVILEGES;
Der neu erstellte Benutzer erhält Zugriff für nur diese Datenbank.
MySQL MariaDB SHOW USERS
Nicht etwa wie erwartet, gibt es den Befehl SHOW USERS tatsächlich nicht, vorhandene MySQL User können jedoch mit SELECT User und Filter abgefragt werden.
SELECT User, Host, Password FROM mysql.user;
+---------------+-----------+-------------------------------------------+
| User | Host | Password |
+---------------+-----------+-------------------------------------------+
| root | localhost | |
| dbuser | localhost | *01B3CD509B05DCC2392E9C689F9FC3A13C69DE88 |
+---------------+-----------+-------------------------------------------+
3 rows in set (0.000 sec)
MySQL MariaDB ALTER USER
Soll das MariaDB – MySQL Datenbank User Passwort geändert werden, kann das MariaDB Kommando ALTER USER verwendet werden:
use meinblog;
ALTER USER 'dbuser'@'localhost' IDENTIFIED BY 'newpassword';
FLUSH PRIVILEGES;
exit;
Das neue Passwort für den MariaDB dbuser wie folgt überprüfen:
$ mariadb -u dbuser -p
Das neue Passwort für dbuser eingeben.
MySQL MariaDB DROP USER
Wenn ein Benutzer für eine MariaDB – MySQL Datenbank wieder gelöscht werden soll, hierzu das Kommando DROP USER.
DROP USER "dbuser"@"localhost";
Conclusion
Wie in diesem Beitrag gezeigt wird, genügt eine Handvoll Kommandos um MySQL und MariaDB Datenbanken zu erstellen. Für die Integration oder bei der Migration von CMS Applikationen, können mit wenigen Kommandos in der Linux Console die Datenbanken erstellt, gelöscht oder überprüft werden, was vor allem dann nützlich ist, wenn kein phpMyAdmin zur Verfügung steht.