Verbinden von 3CX mit einem eigenständigen MySQL & Grafana
- Einführung
- Voraussetzungen
- Schritt 1: Bereiten Sie Ihr MySQL vor
- Konfigurieren Sie Ihre MySQL-Datenbank
- Remoteverbindungen zur Datenbank zulassen
- Starten Sie Ihre MySQL-Datenbank neu, um die oben genannten Änderungen anzuwenden
- Erstellen Sie einen dedizierten MySQL-Benutzer und eine dedizierte MySQL-Datenbank
- Erstellen der Datenbank
- Benutzer erstellen
- Berechtigungen erteilen
- Firewall konfigurieren (falls zutreffend)
- Step 2: Configure Data Connector on 3CX
- Step 3: Connect Grafana to the MySQL Instance
Einführung
Dieses Handbuch ist für Systeme mit V20 Update 7 gedacht und bietet einen kompakten Prozess zum Verbinden Ihres 3CX-Telefonsystems mit einer eigenständigen MySQL-Datenbank zur Verwendung mit Grafana zur Datenvisualisierung und Berichterstattung.
Voraussetzungen
- Ein laufender MySQL-Server.
- Administrativer Zugriff auf Ihren MySQL-Server.
- Zugriff auf die 3CX-Administrationskonsole.
- Eine 3CX 16SC+-Lizenz (erforderlich für die Data Connector-Funktionalität).
- Grundkenntnisse in MySQL-Administration und SQL.
Schritt 1: Bereiten Sie Ihr MySQL vor
Konfigurieren Sie Ihre MySQL-Datenbank
Nehmen Sie nach der Installation Ihrer MySQL-Datenbank die folgenden Änderungen an der Konfiguration vor:
Aktivieren Sie local_infile in der MySQL-Konfiguration. Stellen Sie sicher, dass der globale Parameter local_infile aktiviert ist. Er ist für die effiziente Massenübertragung von Daten in 3CX unerlässlich. Bearbeiten Sie dazu Ihre MySQL-Konfigurationsdatei und fügen Sie den Parameter local_infile im Abschnitt [mysqld] hinzu oder ändern Sie ihn:
[mysqld] local_infile=1
Remoteverbindungen zur Datenbank zulassen
MySQL erlaubt standardmäßig Verbindungen vom lokalen Host. Sie müssen Remote-Verbindungen zulassen, damit PBX eine Verbindung zur Datenbank herstellen kann. Bearbeiten Sie dazu Ihre MySQL-Konfigurationsdatei und fügen Sie den Parameter „Bind-Adresse“ hinzu oder ändern Sie ihn:
bind-address = 0.0.0.0
Der Speicherort der MySQL-Konfigurationsdatei variiert je nach Betriebssystem:
- Linux: Gängige Speicherorte sind /etc/mysql/my.cnf, /etc/my.cnf oder /etc/mysql/mysql.conf.d/mysqld.cnf.
- Windows: Normalerweise in C:\ProgramData\MySQL\MySQL Server X.Y\my.ini.
Starten Sie Ihre MySQL-Datenbank neu, um die oben genannten Änderungen anzuwenden
Starten Sie nach der Bearbeitung Ihren MySQL-Dienst neu, damit die Änderungen wirksam werden:
- Linux: sudo systemctl restart mysql
- Windows: Starten Sie den MySQL-Dienst über den Services Manager neu.
Erstellen Sie einen dedizierten MySQL-Benutzer und eine dedizierte MySQL-Datenbank
Melden Sie sich bei MySQL als Root- oder Administratorbenutzer an:
mysql -u root -p
Geben Sie bei entsprechender Aufforderung Ihr Root-Passwort ein.
Erstellen der DatenbankWählen Sie einen beschreibenden Namen für Ihre CDR-Datenbank (z. B. 3cx_cdr_db).
CREATE DATABASE 3cx_cdr_db;
Wählen Sie ein sicheres Passwort für Ihren neuen Benutzer CREATE USER 'cdrdb'@'%' IDENTIFIED BY '4zYThcp#KWB2aRmI2t5!P';
CREATE USER 'our_3cx_user'@'host' IDENTIFIED BY 'your_3cx_user_password';
Ersetzen Sie „your_3cx_user“ und „your_3cx_user_password“ durch Ihre gewünschten Anmeldedaten.
Ersetzen Sie „Host“ durch die IP-Adresse Ihres 3CX-Servers, wenn Sie Verbindungen zur Datenbank nur über die Telefonanlage zulassen möchten, oder ersetzen Sie „Host“ durch „%“, wenn Sie den Zugriff von überall aus zulassen möchten.
Beispiele:
CREATE USER 'dbuser'@'192.168.10.1' IDENTIFIED BY 'myPass'; – um den Zugriff nur einer IP zu erlauben CREATE USER 'dbuser'@'192.168.10.1' IDENTIFIED BY 'myPass'; – um den Zugriff von jeder IP-Adresse aus zu ermöglichen
Führen Sie abschließend die folgenden Befehle aus, um die entsprechenden Berechtigungen des Benutzers für die Datenbank festzulegen
GRANT INSERT, SELECT, CREATE, ALTER, DROP, INDEX, LOCK TABLES ON 3cx_cdr_db.* TO 'your_3cx_user'@'host';
FLUSH PRIVILEGES;
Ersetzen Sie auch hier 3cx_cdr_db, „Ihr_3cx_Benutzer“ und „Host“ entsprechend den oben angegebenen Werten
Firewall konfigurieren (falls zutreffend)
Stellen Sie sicher, dass die Firewall Ihres MySQL-Servers eingehende Verbindungen über den MySQL-Port (Standard: 3306) von der IP-Adresse Ihres 3CX-Telefonsystems zulässt.
- Linux (z.B., ufw):
sudo ufw allow from <3CX_PBX_IP_Address> to any port 3306
sudo ufw reload - Windows Firewall: Erstellen Sie eine eingehende Regel, um TCP-Verbindungen auf Port 3306 von der IP-Adresse Ihrer 3CX-Telefonanlage zuzulassen.
Step 2: Configure Data Connector on 3CX
- Navigieren Sie in 3CX zu Admin-Konsole > Integrationen > Datenkonnektor. Wählen Sie „MySQL“ aus und geben Sie Folgendes ein:
- Host: Die IP-Adresse oder der FQDN (falls verfügbar) des Hosts, auf dem Sie MySQL installiert haben.
- Port: Der Datenbank-Port (Standard: 3306).
- Datenbankname: Der Name der Datenbank, die Sie in Schritt 1 erstellt haben.
- Benutzername: Der Benutzername des neuen Benutzers, den Sie in Schritt 1 erstellt haben.
- Passwort: Das Passwort, das Sie für Ihren neuen Benutzer konfiguriert haben.
- Frequenz: Legen Sie die Frequenz für die Datenübertragung von der Telefonanlage zu MySQL fest.
- Speichern Sie die Konfiguration und klicken Sie auf Ihrer Telefonanlage auf die Schaltfläche „Testen“, um die Verbindung zur MySQL-Datenbank zu überprüfen und die Erfolgsmeldung zu bestätigen. Sollte der Test fehlschlagen, überprüfen Sie Host, Port, Datenbanknamen, Benutzernamen und Passwort. Stellen Sie außerdem sicher, dass alle Firewalls auf dem MySQL-Host oder -Netzwerk Verbindungen von Ihrer Telefonanlage-IP zulassen.
Step 3: Connect Grafana to the MySQL Instance
- Melden Sie sich bei Ihrer Grafana-Instanz an (z. B. grafana.com oder Ihrem selbst gehosteten Grafana).
- Gehen Sie zum Grafana-Konfigurationsmenü (Zahnradsymbol), klicken Sie auf „Data Sources“ und anschließend auf „Add data source“.
- Suchen Sie nach „MYSQL“ und wählen Sie es aus.
- Konfigurieren Sie die Datenquelle unter „Verbindung“ und geben Sie die folgenden Details ein:
- Host: Geben Sie die IP-Adresse oder den FQDN und den Port Ihrer MySQL-Datenbank im Format „IP/FQDN:3306“ ein.
- Datenbank: Der Name der Datenbank, die Sie in Schritt 1 erstellt haben.
- Benutzer: Der Benutzername des neuen Benutzers, den Sie in Schritt 1 erstellt haben.
- Passwort: Das Passwort, das Sie für Ihren neuen Benutzer konfiguriert haben.
- Klicken Sie auf „Speichern & testen“ und überprüfen Sie, ob die Meldung „Datenverbindung OK“ angezeigt wird. Sollten Fehler auftreten, überprüfen Sie die Verbindungsdetails und die SSL-Konfiguration. Stellen Sie außerdem sicher, dass alle Firewalls auf dem MySQL-Host oder -Netzwerk Verbindungen von Grafana-IPs zulassen.
Letztes Update
Dieses Dokument wurde zuletzt am 10. Juni 2026 aktualisiert.
https://www.3cx.de/docs/mysql-konfiguration/
