MySQL und MariaDB gehören zu den am weitesten verbreiteten relationalen Datenbanken im Linux-Serverbetrieb. Ein sicheres und performantes Setup ist entscheidend, um Datenverlust, Angriffe und Performance-Engpässe zu vermeiden. In diesem Tutorial zeigen wir Schritt für Schritt, wie Sie MySQL/MariaDB installieren, absichern, optimieren und regelmäßig Backups durchführen.
Installation von MySQL/MariaDB
Auf Debian/Ubuntu-Systemen installieren Sie MariaDB/MySQL über APT:
sudo apt update
sudo apt install mariadb-server mariadb-client
Auf RHEL/CentOS/Fedora nutzen Sie DNF/YUM:
sudo dnf install mariadb-server mariadb
sudo systemctl enable mariadb
sudo systemctl start mariadb
Erstkonfiguration und Absicherung
Nach der Installation sollte die Datenbank abgesichert werden:
sudo mysql_secure_installation
Folgende Punkte sollten Sie dabei beachten:
- Root-Passwort setzen
- Anonyme Benutzer entfernen
- Remote-Root-Login deaktivieren
- Testdatenbank löschen
- Privilege-Tabellen neu laden
Datenbank-Benutzer und Rechte
Erstellen Sie für Anwendungen dedizierte Benutzer und gewähren Sie nur notwendige Rechte:
sudo mysql -u root -p
CREATE DATABASE webapp_db;
CREATE USER 'webapp'@'localhost' IDENTIFIED BY 'SicheresPasswort';
GRANT ALL PRIVILEGES ON webapp_db.* TO 'webapp'@'localhost';
FLUSH PRIVILEGES;
q
Verwenden Sie niemals den Root-Benutzer für Applikationen.
Netzwerkabsicherung
Die MySQL/MariaDB-Dienste sollten nur von vertrauenswürdigen Hosts erreichbar sein. Passen Sie die Bind-Adresse in /etc/mysql/mariadb.conf.d/50-server.cnf an:
[mysqld]
bind-address = 127.0.0.1
Firewall-Regeln sorgen zusätzlich für Sicherheit:
sudo ufw allow from 192.168.1.0/24 to any port 3306
sudo ufw enable
SSL für verschlüsselte Verbindungen
Aktivieren Sie SSL, um Daten zwischen Clients und Server zu verschlüsseln:
[mysqld]
ssl-ca=/etc/mysql/ssl/ca.pem
ssl-cert=/etc/mysql/ssl/server-cert.pem
ssl-key=/etc/mysql/ssl/server-key.pem
Clientseitig können Sie die SSL-Verbindung mit folgenden Parametern erzwingen:
mysql -u webapp -p --ssl-ca=/etc/mysql/ssl/ca.pem --ssl-cert=/etc/mysql/ssl/client-cert.pem --ssl-key=/etc/mysql/ssl/client-key.pem
Performance-Tuning
Optimieren Sie die MySQL/MariaDB-Parameter in /etc/mysql/my.cnf oder mysqld.cnf:
- innodb_buffer_pool_size: Speicher für InnoDB-Tabellen (ca. 70-80% des RAM)
- max_connections: Anzahl gleichzeitiger Verbindungen
- query_cache_size: Cache für häufige Abfragen (nur bei älteren Versionen)
- tmp_table_size und max_heap_table_size: Größe temporärer Tabellen
- slow_query_log: Aktivieren Sie das Logging langsamer Abfragen
Backups einrichten
Regelmäßige Backups sind entscheidend für Disaster Recovery. Beispiele:
- Einzelne Datenbanken:
mysqldump -u webapp -p webapp_db > /backup/webapp_db_$(date +%F).sql
mysqldump -u root -p --all-databases > /backup/all_dbs_$(date +%F).sql
0 2 * * * /usr/bin/mysqldump -u webapp -p'SicheresPasswort' webapp_db | gzip > /backup/webapp_db_$(date +%F).sql.gz
Monitoring und Logs
Überwachen Sie den Datenbankbetrieb:
- Prüfen Sie laufende Abfragen:
mysql -u root -p
SHOW PROCESSLIST;
Percona Monitoring, Prometheus + mysqld_exporterUpdates und Sicherheit
- Regelmäßig Sicherheitsupdates installieren:
sudo apt update && sudo apt upgrade mariadb-server
Zusammenfassung der Best Practices
- Dedizierte Benutzer für jede Applikation
- Root-Zugang auf localhost beschränken
- SSL für alle externen Verbindungen
- Regelmäßige Backups und Test der Wiederherstellung
- Monitoring von Abfragen und Systemressourcen
- Firewall und Netzwerkzugriff kontrollieren
- Regelmäßige Updates und Sicherheitsprüfungen
Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3
Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.
Meine Leistungen umfassen:
-
Professionelle Konfiguration von Routern und Switches
-
Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen
-
Erstellung von Topologien und Simulationen in Cisco Packet Tracer
-
Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG
-
Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible
-
Erstellung von Skripten für wiederkehrende Netzwerkaufgaben
-
Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege
-
Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting
Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.











