Datenbank-Konfiguration
FeedbackPulse SaaS verwendet MySQL oder MariaDB als primäre Datenbank.
Unterstützte Datenbanken
| Datenbank | Version | Status |
|---|---|---|
| MySQL | 8.0+ | Vollständig unterstützt (empfohlen) |
| MariaDB | 10.6+ | Vollständig unterstützt |
| PostgreSQL | 15+ | Experimentell (Migrationen müssen möglicherweise angepasst werden) |
| SQLite | 3.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
| Problem | Lösung |
|---|---|
SQLSTATE[HY000] [2002] Connection refused | Verwenden Sie 127.0.0.1 statt localhost |
SQLSTATE[HY000] [1045] Access denied | Benutzername/Passwort prüfen, sicherstellen dass der Benutzer Berechtigungen hat |
SQLSTATE[42S01] Table already exists | Datenbank 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:
- Navigieren Sie zu
Admin → Backups - Klicken Sie auf Backup erstellen
- 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