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
– oderALTER
-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
- Lege einen Benutzer
statistik
mit einer Rollereport_role
an. - Gib ihm nur SELECT-Rechte.
- Ü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