MySQL oder MariaDB Datenbank über das Terminal löschen

Falls man eine bestehende MySQL oder MariaDB Datenbank mit einem zugehörigen User löschen möchte und kein Grafisches Administraiontstool wie phpMyAdmin zur Verfügung steht kann dies auch ganz einfach über das Terminal erledigt werden.

Zuerst muss man sich ins Datenbanksystem einloggen. Dabei authentifiziert man sich über das Passwort des Datebankbenutzers root.

$ mysql -p
> Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 51
Server version: 10.0.29-MariaDB-0ubuntu0.16.04.1 Ubuntu 16.04

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

Zuerst lassen wir uns alle Benutzer anzeigen.

> MariaDB [(none)]> SELECT User,Host FROM mysql.user;
+--------------+-----------+
| User         | Host      |
+--------------+-----------+
| myseconduser | localhost |
| myuser       | localhost |
| root         | localhost |
+--------------+-----------+
3 rows in set (0.00 sec)

Wir möchten den Benutzer myuser löschen, da er zur Datenbank gehört die wir löschen möchten.

> MariaDB [(none)]> DROP USER 'myuser'@'localhost';
Query OK, 0 rows affected (0.00 sec)

Nun überprüfen wir, ob der Benutzer wirklich gelöscht wurde indem wir uns nochmals alle Benutzer anzeigen lassen.

> MariaDB [(none)]> SELECT User,Host FROM mysql.user;
+--------------+-----------+
| User         | Host      |
+--------------+-----------+
| myseconduser | localhost |
| root         | localhost |
+--------------+-----------+
2 rows in set (0.00 sec)

Der Benutzer wird nicht mehr gelistet und ist daher erfolgreich gelöscht worden.

Nun lassen wir uns alle Datenbanken ausgeben.

> MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mydatabase         |
| myseconddatabase   |
| mysql              |
| performance_schema |
+--------------------+
5 rows in set (0.00 sec)

Wir möchten die Datenbank mydatabase löschen.

> MariaDB [(none)]> DROP DATABASE mydatabase;
Query OK, 0 rows affected (0.00 sec)

Nun überprüfen wir, ob die Datenbank wirklich gelöscht wurde.

> MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| myseconddatabase   |
| mysql              |
| performance_schema |
+--------------------+
4 rows in set (0.00 sec)

Da die Datenbank nicht mehr gelistet wird wurde sie erfolgreich gelöscht.

Abschließend kann die Konsole des Datenbanksystems verlassen werden.

> MariaDB [(none)]> quit
Bye

MySQL oder MariaDB Datenbank über das Terminal erstellen

Falls man eine neue MySQL oder MariaDB Datenbank mit einem zugehörigen User erstellen möchte und kein Grafisches Administraiontstool wie phpMyAdmin zur Verfügung steht kann dies auch ganz einfach über das Terminal erledigt werden.

Zuerst muss man sich ins Datenbanksystem einloggen. Dabei authentifiziert man sich über das Passwort des Datebankbenutzers root.

$ sudo mysql -p
> Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 51
Server version: 10.0.29-MariaDB-0ubuntu0.16.04.1 Ubuntu 16.04

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

Jetzt kann dir neue Datenbank (mydatabase) erstellt werden

> MariaDB [(none)]> create database mydatabase;
Query OK, 1 row affected (0.00 sec)

Jetzt lassen wir uns alle Datenbanken ausgeben – Hier sollte die gerade erstellte bereits auftauchen.

> MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mydatabase         |
| mysql              |
| performance_schema |
+--------------------+
4 rows in set (0.00 sec)

Als nächstes muss ein dazugehöriger Benutzer (myuser) angelegt und ihm die Rechte an der Datenbank gegeben werden. Als Passwort sollte auch hier ein sicheres gewählt werden. Ich erstelle immer für jede Datenbank einen neuen Benutzer mit einem individuellen Passwort. So können die Auswirkungen begrenzt werden, falls jemand drittes Zugriff auf einen Benutzer mit Passwort bekommt.

> MariaDB [(none)]> grant all privileges on mydatabase.* to 'myuser'@'localhost' identified by "mySecurePassword";
Query OK, 0 rows affected (0.00 sec)

Auch hier sollte der Benutzer bereits angezeigt werden, wenn wir uns alle Benutzer ausgeben lassen.

> MariaDB [(none)]> SELECT User,Host FROM mysql.user;
+--------+-----------+
| User   | Host      |
+--------+-----------+
| myuser | localhost |
| root   | localhost |
+--------+-----------+
2 rows in set (0.00 sec)

Nun müssen noch die Rechte geschrieben werden.

> MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.01 sec)

Abschließend kann die Konsole des Datenbanksystems verlassen werden.

> MariaDB [(none)]> quit
Bye

Jetzt kann mit dem neu erstellten Benutzer auf die angelegte Datenbank zugegriffen werden.