Zum Hauptinhalt springen

Datenbank-Konfiguration

FeedbackPulse SaaS verwendet MySQL oder MariaDB als primäre Datenbank.


Unterstützte Datenbanken

DatenbankVersionStatus
MySQL8.0+Vollständig unterstützt (empfohlen)
MariaDB10.6+Vollständig unterstützt
PostgreSQL15+Experimentell (Migrationen müssen möglicherweise angepasst werden)
SQLite3.35+Nur für Entwicklung (nicht für Produktion)

Datenbank erstellen

Vor dem Ausführen des Installers:

-- Mit MySQL verbinden
mysql -u root -p

-- Datenbank mit korrektem Zeichensatz erstellen
CREATE DATABASE feedbackpulse
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;

-- Dedizierten Benutzer erstellen (aus Sicherheitsgründen empfohlen)
CREATE USER 'feedbackpulse'@'localhost'
IDENTIFIED BY 'your_strong_password_here';

-- Berechtigungen erteilen
GRANT ALL PRIVILEGES ON feedbackpulse.*
TO 'feedbackpulse'@'localhost';

FLUSH PRIVILEGES;
EXIT;

⚠️ Warum utf8mb4? Es unterstützt den vollständigen Unicode-Zeichensatz einschließlich Emojis. Kundenfeedback enthält oft Emojis, daher ist dies wichtig!


.env-Konfiguration

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=feedbackpulse
DB_USERNAME=feedbackpulse
DB_PASSWORD=your_strong_password_here

Häufige Probleme

ProblemLösung
SQLSTATE[HY000] [2002] Connection refusedVerwenden Sie 127.0.0.1 statt localhost
SQLSTATE[HY000] [1045] Access deniedBenutzername/Passwort prüfen, sicherstellen dass der Benutzer Berechtigungen hat
SQLSTATE[42S01] Table already existsDatenbank war nicht leer. Löschen und neu erstellen, oder --force-Flag verwenden
Emoji-Zeichen erscheinen als ????Datenbank-Zeichensatz muss utf8mb4 sein, nicht utf8

MySQL-Performance-Tuning

Für Produktionsserver mit vielen Mandanten, optimieren Sie MySQL:

# /etc/mysql/mysql.conf.d/mysqld.cnf

[mysqld]
# InnoDB-Pufferpool (auf 50-70% des verfügbaren RAM setzen)
innodb_buffer_pool_size = 1G

# Log-Dateigröße
innodb_log_file_size = 256M

# Max. Verbindungen (für stark frequentierte Plattformen erhöhen)
max_connections = 200

# Query-Cache (in MySQL 8.0+ deaktivieren, veraltet)
query_cache_type = 0

# Slow-Query-Log (zum Debuggen von Performance-Problemen)
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 2

MySQL neu starten:

sudo systemctl restart mysql

Backup & Wiederherstellung

Über das Admin-Panel

FeedbackPulse hat eine integrierte Backup-Funktion:

  1. Navigieren Sie zu Admin → Backups
  2. Klicken Sie auf Backup erstellen
  3. Die .sql.gz-Datei herunterladen

Manuelles Backup

mysqldump -u feedbackpulse -p feedbackpulse | gzip > backup_$(date +%Y%m%d_%H%M%S).sql.gz

Wiederherstellung

gunzip < backup_20240101_120000.sql.gz | mysql -u feedbackpulse -p feedbackpulse

Nächste Schritte