Verbinden von 3CX mit einem eigenständigen MySQL & Grafana

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

  1. 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

  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.
  1. 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.
  1. 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 Datenbank

Wählen Sie einen beschreibenden Namen für Ihre CDR-Datenbank (z. B. 3cx_cdr_db).


CREATE DATABASE 3cx_cdr_db;


Benutzer erstellen

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

Berechtigungen erteilen

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

  1. 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

  1. 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.
  1. 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.

3CX Datenkonnektoren

Step 3: Connect Grafana to the MySQL Instance

  1. Melden Sie sich bei Ihrer Grafana-Instanz an (z. B. grafana.com oder Ihrem selbst gehosteten Grafana).
  2. Gehen Sie zum Grafana-Konfigurationsmenü (Zahnradsymbol), klicken Sie auf „Data Sources“ und anschließend auf „Add data source“.
  3. Suchen Sie nach „MYSQL“ und wählen Sie es aus.

Grafana DatenquellenDatenquelle hinzufügen

  1. 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.

Verbindung testen

  1. 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.

Database Connection OK

Letztes Update
Dieses Dokument wurde zuletzt am 10. Juni 2026 aktualisiert.
https://www.3cx.de/docs/mysql-konfiguration/