Konfiguration und Betrieb: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
= Konfiguration und Betrieb von MariaDB =
 
  
 
== Einführung ==
 
== Einführung ==

Version vom 15. März 2025, 10:11 Uhr

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

  • MariaDB-Server- und Client-Pakete installieren:
  • sudo apt update
  • sudo apt install mariadb-server mariadb-client
  • Dienst starten und aktivieren:
  • sudo systemctl start mariadb
  • sudo systemctl enable mariadb
  • Initiale Sicherheitskonfiguration ausführen:
  • 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

  • Neuen Benutzer mit allen Rechten für eine Datenbank erstellen:
  • 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

  • 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 erstellen:
  • 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

  • Speicherverwaltung optimieren:
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.