Konfiguration und Betrieb
Version vom 15. März 2025, 10:09 Uhr von Thomas.will (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „= Konfiguration und Betrieb von MariaDB = == Einführung == * MariaDB ist ein relationales Datenbankmanagementsystem (RDBMS), das als Fork von MySQL entwickel…“)
Konfiguration und Betrieb von MariaDB
Einführung
- MariaDB ist ein relationales Datenbankmanagementsystem (RDBMS), das als Fork von MySQL entwickelt wurde.
- Es bietet erweiterte Funktionen, höhere Performance und vollständige Open-Source-Lizenzierung (GPLv2).
- MariaDB kann sowohl für kleine Anwendungen als auch für große, verteilte Systeme eingesetzt werden.
Installation von MariaDB
Debian/Ubuntu
- Installation der MariaDB-Server- und Client-Pakete:
sudo apt update sudo apt install mariadb-server mariadb-client
- Dienst starten und aktivieren:
sudo systemctl start mariadb sudo systemctl enable mariadb
- Initiale Sicherheitskonfiguration:
sudo mysql_secure_installation
RHEL/CentOS
- Repository hinzufügen und MariaDB installieren:
sudo yum install mariadb-server mariadb
- Dienst starten und aktivieren:
sudo systemctl start mariadb sudo systemctl enable mariadb
Grundkonfiguration von MariaDB
- Die zentrale Konfigurationsdatei ist /etc/mysql/mariadb.conf.d/50-server.cnf (Debian) oder /etc/my.cnf.d/mariadb-server.cnf (RHEL).
- Wichtige Parameter zur Konfiguration:
[mysqld] bind-address = 127.0.0.1 max_connections = 200 default_storage_engine = InnoDB innodb_buffer_pool_size = 1G query_cache_size = 64M
Benutzerverwaltung
- Neuer Benutzer mit allen Rechten für eine Datenbank:
CREATE USER 'admin'@'localhost' IDENTIFIED BY 'sicheresPasswort'; GRANT ALL PRIVILEGES ON testdb.* TO 'admin'@'localhost'; FLUSH PRIVILEGES;
- Benutzer und Rechte anzeigen:
SELECT User, Host FROM mysql.user; SHOW GRANTS FOR 'admin'@'localhost';
Datenbankverwaltung
- Eine neue Datenbank erstellen:
CREATE DATABASE beispieldb;
- Datenbank anzeigen:
SHOW DATABASES;
- Eine Tabelle erstellen:
USE beispieldb;
CREATE TABLE kunden (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
email VARCHAR(100)
);
Backup und Wiederherstellung
- Vollständiges Backup einer Datenbank:
mysqldump -u root -p beispieldb > beispieldb.sql
- Wiederherstellung einer Datenbank:
mysql -u root -p beispieldb < beispieldb.sql
Replikation einrichten
- MariaDB unterstützt Master-Slave- und Multi-Master-Replikation.
- Beispielhafte Konfiguration für den Master:
[mysqld] server-id = 1 log-bin = /var/log/mysql/mysql-bin.log binlog-do-db = beispieldb
- Konfiguration für den Slave:
[mysqld] server-id = 2 relay-log = /var/log/mysql/mysql-relay-bin.log
- Slave mit dem Master verbinden:
CHANGE MASTER TO MASTER_HOST='192.168.1.100', MASTER_USER='replication', MASTER_PASSWORD='passwort', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=154; START SLAVE; SHOW SLAVE STATUS;
Performance-Optimierung
- Optimierung der Speicherverwaltung:
innodb_buffer_pool_size = 2G innodb_log_file_size = 512M
- Abfragecache aktivieren:
query_cache_type = 1 query_cache_size = 128M
- Maximale Verbindungen erhöhen:
max_connections = 500
Monitoring und Logging
- Status der Datenbank prüfen:
SHOW STATUS; SHOW VARIABLES;
- Fehlerprotokolle anzeigen:
tail -f /var/log/mysql/error.log
- Aktive Prozesse überwachen:
SHOW PROCESSLIST;
Sicherheit
- Root-Zugriff auf localhost beschränken:
UPDATE mysql.user SET Host='localhost' WHERE User='root'; FLUSH PRIVILEGES;
- SSL-Verschlüsselung aktivieren:
[mysqld] ssl-cert = /etc/mysql/ssl/server-cert.pem ssl-key = /etc/mysql/ssl/server-key.pem
Aufgaben
- Erstelle eine Datenbank mit Benutzer und entsprechenden Rechten.
- Konfiguriere die Replikation zwischen zwei MariaDB-Servern.
- Optimiere die Performance-Einstellungen für große Abfragen.
- Setze ein Backup- und Wiederherstellungskonzept um.
Fazit
- MariaDB ist eine leistungsfähige Alternative zu MySQL mit vielen zusätzlichen Funktionen.
- Die richtige Konfiguration kann Performance und Sicherheit erheblich verbessern.
- Regelmäßige Wartung und Überwachung sind essenziell für den stabilen Betrieb.