MariaDB – Wartung und praktische Beispiele: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(Die Seite wurde neu angelegt: „= MariaDB – Wartung und praktische Beispiele = == Benutzerverwaltung überprüfen und bereinigen == * Zeige alle Benutzer mit Hostangabe: * SELECT User, Ho…“) |
|||
| Zeile 1: | Zeile 1: | ||
| − | |||
| − | |||
== Benutzerverwaltung überprüfen und bereinigen == | == Benutzerverwaltung überprüfen und bereinigen == | ||
Aktuelle Version vom 24. März 2025, 15:38 Uhr
Benutzerverwaltung überprüfen und bereinigen
- Zeige alle Benutzer mit Hostangabe:
- SELECT User, Host FROM mysql.user;
- Entferne ungenutzte Benutzer:
- DROP USER 'test'@'%';
- Setze ein Passwort neu:
- ALTER USER 'admin'@'localhost' IDENTIFIED BY 'NeuesPasswort123';
Datenbankgrößen anzeigen und überwachen
- Übersicht aller Datenbanken mit Größe:
- SELECT table_schema "Datenbank", ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) "Größe in MB" FROM information_schema.tables GROUP BY table_schema;
Tabellen analysieren und optimieren
- Tabellen analysieren zur Aktualisierung der Statistiken:
- ANALYZE TABLE kunden, bestellungen;
- Tabellen optimieren um Speicher freizugeben:
- OPTIMIZE TABLE kunden;
Alte Logs bereinigen
- Binärlogs anzeigen:
- SHOW BINARY LOGS;
- Alte Binärlogs löschen (bis zu einer bestimmten Datei):
- PURGE BINARY LOGS TO 'mysql-bin.000025';
- Oder nach Datum löschen:
- PURGE BINARY LOGS BEFORE '2025-01-01 00:00:00';
Tabellen auf Fehler prüfen
- Eine einzelne Tabelle prüfen:
- CHECK TABLE kunden;
- Alle Tabellen in einer Datenbank prüfen:
- mysqlcheck -u root -p --check firma;
Backup und Wiederherstellung
- Backup einer einzelnen Datenbank:
- mysqldump -u root -p firma > firma.sql
- Backup aller Datenbanken:
- mysqldump -u root -p --all-databases > alle_dbs.sql
- Wiederherstellen einer Datenbank:
- mysql -u root -p firma < firma.sql
Autovacuum und Tuning überprüfen
- Konfigurationsdatei anpassen:
In der Datei /etc/mysql/mariadb.conf.d/50-server.cnf unter dem Abschnitt [mysqld] sinnvolle Werte eintragen: innodb_buffer_pool_size = 512M max_connections = 100 query_cache_size = 64M
- Danach MariaDB neu starten:
- systemctl restart mariadb
Protokollierung und Langsame Abfragen aktivieren
- Langsame Abfragen in der Konfig aktivieren:
In der Datei /etc/mysql/mariadb.conf.d/50-server.cnf einfügen: slow_query_log = 1 slow_query_log_file = /var/log/mysql/slow.log long_query_time = 1
- Dienst neu starten:
- systemctl restart mariadb
- Langsame Abfragen anzeigen:
- cat /var/log/mysql/slow.log
Speicherplatz prüfen und aufräumen
- Speicherplatz prüfen:
- du -sh /var/lib/mysql/*
- Nicht mehr benötigte alte Dumps löschen:
- rm -f /var/backups/sql/alte_datei.sql
Automatisierte tägliche Sicherung einrichten
- Cronjob einrichten:
- crontab -e
- Beispiel für tägliches Backup um 2 Uhr nachts:
- 0 2 * * * mysqldump -u root -p123Start$ firma > /var/backups/sql/firma_$(date +\%F).sql
Sicherheit: Rechte von Benutzern regelmäßig prüfen
- Alle Berechtigungen anzeigen:
- SHOW GRANTS FOR 'webuser'@'localhost';
- Unnötige Berechtigungen entziehen:
- REVOKE DROP ON firma.* FROM 'webuser'@'localhost';