LU12a - Data Security & User Management (DCL)
MySQL 9.4 · In zwei Seiten bauen wir mit der Beispiel-WordPress-Datenbank des Reiseblogs wetraveltheworld.de ein sauberes User-, Rechte- und Rollen-Konzept auf. Die Lernenden kennen die Blog-Autor:innen bereits aus den JOIN-Übungen: Caro Steig, Martin Merten und Shaolin Tran.
Wichtig (Abgrenzung WordPress vs. MySQL): WordPress-Rollen (z. B. Administrator, Redakteur, Autor) sind Anwendungs-Rollen innerhalb von WordPress. Hier modellieren wir MySQL-Rollen (DB-Rechte). Wir bilden die WP-Rollen sinngemäss ab, damit ihr Least-Privilege auf DB-Ebene versteht. Im echten WP-Betrieb verwendet man i. d. R. einen DB-Benutzer mit definierten Rechten; App-Rollen regelt WordPress selbst.
Was ist der root-User?
root ist der Superuser von MySQL: hat alle Rechte auf dem Server (alle Datenbanken, Benutzerverwaltung, Serveroperationen). Verwenden für: Installation, Benutzer/Rollen anlegen, Rechte vergeben/entziehen, Backups testen. Nicht verwenden für: Applikationsbetrieb, tägliche Queries. Dafür dedizierte RO- (Read-Only) und RW-Benutzer (Read-Write) einsetzen (Least Privilege).
Grundbegriffe (einfach)
| Begriff | Kurz erklärt | Beispiel |
|---|---|---|
| Datenbank/Schema | In MySQL synonym; Container für Tabellen | CREATE DATABASE app_demo; |
| Tabelle | Struktur mit Zeilen/Spalten | CREATE TABLE notes(…); |
| Benutzer | Login-Identität user@host | CREATE USER 'eva'@'localhost' …; |
| Host | Woher der Login kommen darf | localhost = gleicher Rechner; % = von überall (vorsichtig!) |
| Grant (Privileg) | Konkrete Berechtigung (z. B. SELECT) | GRANT SELECT ON db.* TO …; |
| Rolle | Bündel aus Rechten; an viele Benutzer zuweisbar | CREATE ROLE 'app_read'; |