Site icon bintorosoft.com

MySQL/MariaDB Setup: Sicherheit, Performance und Backups

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:

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:

Backups einrichten

Regelmäßige Backups sind entscheidend für Disaster Recovery. Beispiele:

mysqldump -u webapp -p webapp_db > /backup/webapp_db_$(date +%F).sql
  • Alle Datenbanken:
  • mysqldump -u root -p --all-databases > /backup/all_dbs_$(date +%F).sql
  • Automatisierung per Cronjob:
  • 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:

    mysql -u root -p
    SHOW PROCESSLIST;
  • Slow Query Log analysieren
  • Optionale Tools: Percona Monitoring, Prometheus + mysqld_exporter
  • Updates und Sicherheit

    sudo apt update && sudo apt upgrade mariadb-server
  • Starke Passwörter für alle Benutzer
  • Unnötige Accounts deaktivieren
  • Regelmäßig Berechtigungen prüfen
  • Zusammenfassung der Best Practices

    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:

    Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

    Exit mobile version