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.

MySQL oder MariaDB unter Ubuntu Linux 16.04 installieren und konfigurieren

HINWEIS: Eine Aktualisierte Version dieses Beitrages für Ubuntu 20.04 ist >hier< verfügbar

Ich verwende aktuell MariaDB als Datenbanksystem, was aus einem Fork von MySQL entstanden und weiterhin dazu kompatible ist. Es besitzt aber einige zusätzlichen Features. Ich möchte hier nichts über die Vor- und Nachteile zu PostgreSQL oder MySQL schreiben. Jede dieser Datenbanksysteme hat seine Daseinsberechtigung und jeder muss selbst entscheiden welches er einsetzt und ich habe mich aktuell für MariaDB entschieden. Die folgende Anleitung beschreibt wie MariaDB installiert und konfiguriert werden kann. Die Anleitung sollte auch 1:1 mit MySQL funktionieren.

Weiterlesen

Hostname eines Ubuntu Linux 16.04 Servers ändern

HINWEIS: Eine Aktualisierte Version dieses Beitrages für Ubuntu 20.04 Server ist >hier< verfügbar

Der Hostname eines Computers dient dazu ihn zu identifizieren. Er kann meist bei der Installation festgelegt werden. Wird allerdings ein fertiges Image auf den Server gespielt ist oft einen Standardhostname wie Beispielsweise Ubuntu-1604-xenial-64-minimal gesetzt. Der erste Teil dieses Hostnamens (bis zum ersten Punkt) wird auch immer im Terminal hinter dem username@ angezeigt. Um den Computer besser zuordnen zu können kann der Hostname geändert werden. In diesem Artikel erkläre ich wie dies gemacht werden kann.

Weiterlesen

Sichere SSH Konfiguration

In diesem Beitrag erläutere ich meine SSH Konfiguration für Server und Clients. Ich erkläre außerdem wie man sie einrichtet. Sie schränkt die erlaubten kryptographischen Algorithmen auf als sicher geltende ein. Meine Auswahl der Algorithmen basiert auf dem Artikel Secure Secure Shell.

Ich beschreibe zuerst die verschiedenen verwendeten Optionen und wie man sie Konfiguriert. Am Ende habe ich nochmal die kompletten Konfigurationsdateien zum einfachen kopieren eingefügt.

Bei der Konfiguration muss extrem vorsichtig vorgegangen werden, da man sich u.U. auch komplett vom Server aussperren kann. Ich übernehme dafür keine Haftung.

Weiterlesen

SSH Authentifizierung mittels Public-Keys

Authentifizierung über Public Keys ist die Bezeichnung dafür, dass für das Anmelden an einem SSH Server kein Passwort, sondern ein Kryptographischer Schlüssel verwendet wird, welcher lokal auf dem PC gespeichert ist. Die dazu verwendeten Schlüssel bestehen aus zwei Teilen, einem öffentlichen und einem privaten Teil. Der öffentliche Teil ist kein Geheimnis und wird z.B. auch auf dem Server abgelegt. An Angreifer, welcher in Besitz dieses öffentlichen Teils des Schlüssels gelangt, kann nichts damit anstellen. Der private Teil hingegen muss immer sicher gespeichert und darf nicht weitergegeben werden. Mit ihm ist es möglich sich am Server anzumelden.

Weiterlesen

Konfigurationsdatei zum Verwalten von SSH Verbindungen

Verbindet man sich regelmäßig über SSH zu verschiedenen Servern, kann es schwer werden sich verschiedene Servernamen, Benutzernamen oder Ports zu merken. Damit man sich dies nicht merken muss gibt es die ~/.ssh/config Datei. Dort kann für jeden Server ein Alias vergeben und Eigenschaften wie den Username, Port, Schlüssel oder Kryptographische Algorithmus festgelegt werden.

Weiterlesen

Automatische Installation von (Sicherheits)Updates und entfernen von nicht mehr benötigten Pakete unter Ubuntu Linux 16.04 Server

Sicherheitsupdates sollten nach Veröffentlichung so schnell wie möglich installiert werden um die Sicherheit des Systems zu erhöhen. Auch sollten nicht mehr benötigte Pakete wie alte Kernel automatisch deinstalliert wrden, da sie sonst die Festplatte zumüllen. Es ist möglich Ubuntu so zu konfigurieren, dass Sicherheitsupdates automatisch installiert und nicht mehr benögite Pakete automatisch deinstalliert werden.

Weiterlesen