Eine Datenbank ist nur so sicher wie ihre Konfiguration. In diesem Kapitel geht es um wichtige Maßnahmen, die du im Alltag anwenden solltest.

🔹 Minimale Benutzerrechte

👉 Grundsatz: So wenig Rechte wie möglich.

  • Nur SELECT für Reporting-Benutzer.
  • Keine DROP– oder ALTER-Rechte für normale Anwendungen.

Beispiel:

CREATE USER 'readonly'@'localhost' IDENTIFIED BY 'starkespw';
GRANT SELECT ON shopdb.* TO 'readonly'@'localhost';

🔹 Absicherung gegen SQL-Injection

SQL-Injection entsteht, wenn Benutzereingaben ungefiltert in SQL-Befehle gelangen.
Best Practice: Prepared Statements in Anwendungen nutzen.

Beispiel (PHP):

$stmt = $pdo->prepare("SELECT * FROM kunden WHERE email = ?");
$stmt->execute([$email]);

🔹 Rollen in MariaDB

Statt Rechte einzeln zu vergeben, kannst du Rollen anlegen:

CREATE ROLE report_role;
GRANT SELECT ON kursdb.* TO report_role;
GRANT report_role TO 'report'@'localhost';

🔹 Passwort-Policy

MariaDB kann Passwortstärke prüfen (abhängig von Version).
Empfehlung:

  • Mind. 12 Zeichen
  • Groß-/Kleinbuchstaben, Zahlen, Sonderzeichen
  • Regelmäßige Rotation

🔹 Übung

  1. Lege einen Benutzer statistik mit einer Rolle report_role an.
  2. Gib ihm nur SELECT-Rechte.
  3. Überprüfe die Zuweisung mit SHOW GRANTS.

✅ Zusammenfassung

  • Minimale Rechte für alle Benutzer.
  • Schutz vor SQL-Injection durch Prepared Statements.
  • Rollen vereinfachen Rechteverwaltung.
  • Starke Passwörter sind Pflicht.

Im nächsten Kapitel geht es um Performance-Tuning & Optimierung.

📚 Inhaltsverzeichnis

👉 MariaDB Kapitel 1: Einführung & Installation im Terminal
👉 MariaDB Kapitel 2: Benutzer & Rechteverwaltung
👉 MariaDB Kapitel 3: Tabellen sauber anlegen (Primär- & Fremdschlüssel)
👉 MariaDB Kapitel 4: Grundbefehle & Kurzschreibweisen in der MariaDB-Konsole
👉 MariaDB Kapitel 5: CRUD-Befehle  – Daten einfügen, lesen, ändern und löschen
👉 MariaDB Kapitel 6: Primär- und Fremdschlüssel – Tabellen verknüpfen
👉 MariaDB Kapitel 7: Profi-Abfragen mit JOIN, GROUP BY & Aggregatfunktionen
👉 MariaDB Kapitel 8: Indexe, Views & Transaktionen
👉 MariaDB Kapitel 9: Produktivbetrieb – Sicherheit, Backups & Verwaltung
👉 MariaDB Kapitel 10: Abschlussprojekt – Ein Mini-Shop

📚 Bonus-Kapitel Ideen

👉 MariaDB Kapitel 11: Stored Procedures – Automatisierte Abläufe
👉 MariaDB Kapitel 12: Trigger – Aktionen bei Änderungen
👉 MariaDB Kapitel 13: Events – Zeitgesteuerte Aufgaben
👉 MariaDB Kapitel 14: Sicherheit & Best Practices
👉 MariaDB Kapitel 15: Performance-Tuning & Optimierung