将 3CX 连接到独立的 MySQL 数据库和 Grafana
介绍
本指南适用于运行 V20 Update 7 的系统,并提供了一个简洁的过程,将您的 3CX 电话系统连接到独立的 MySQL 数据库,以便与 Grafana 一起使用进行数据可视化和报告。
先决条件
- 正在运行的 MySQL 服务器。
- 对 MySQL 服务器的管理访问权限。
- 访问 3CX 管理控制台。
- 3CX 16SC+许可证(数据连接器功能所需)。
- 对 MySQL 管理和 SQL 有基本的了解。
步骤 1:准备 MySQL
配置 MySQL 数据库
安装 MySQL 数据库后,对配置进行以下更改:
在 MySQL 配置中启用 local_infile。确保启用 local_infile 全局参数,这对于 3CX 高效地批量传输数据至关重要。为此,请编辑 MySQL 配置文件,并在 [mysqld] 部分下添加或修改 local_infile 参数:
[mysqld] local_infile=1
允许远程连接到数据库
默认情况下,MySQL 允许来自本地主机的连接。您需要允许远程连接,以便 PBX 能够连接到数据库。为此,请编辑 MySQL 配置文件并添加或修改 bind-address 参数:
bind-address = 0.0.0.0
MySQL 配置文件的位置因操作系统而异:
- Linux:常见位置包括 /etc/mysql/my.cnf、/etc/my.cnf 或 /etc/mysql/mysql.conf.d/mysqld.cnf。
- Windows:通常在 C:\ProgramData\MySQL\MySQL Server X.Y\my.ini 中。
重新启动 MySQL 数据库以应用上述更改
编辑后,重新启动 MySQL 服务以使更改生效:
- Linux: sudo systemctl restart mysql
- Windows: 从服务管理器重新启动 MySQL 服务。
创建专用的 MySQL 用户和数据库
以 root 或 administrative 用户身份登录 MySQL:
mysql -u root -p
如果出现提示,请输入您的 root 密码。
创建数据库为您的 CDR 数据库选择一个描述性名称(例如,3cx_cdr_db)。
CREATE DATABASE 3cx_cdr_db;
为您的新用户选择一个强密码 CREATE USER 'cdrdb'@'%' IDENTIFIED BY '4zYThcp#KWB2aRmI2t5!P';
CREATE USER 'our_3cx_user'@'host' IDENTIFIED BY 'your_3cx_user_password';
将“your_3cx_user”和“your_3cx_user_password”替换为您想要的凭据。
如果您希望仅允许 PBX 连接到数据库,请将“host”替换为您的 3CX 服务器的 IP 地址;如果您希望允许从任何地方访问,请将“host”替换为“%”。
例子:
CREATE USER 'dbuser'@'192.168.10.1' IDENTIFIED BY 'myPass'; – to allow access only an IP CREATE USER 'dbuser'@'192.168.10.1' IDENTIFIED BY 'myPass'; – to allow access from any IP
最后,运行以下命令设置用户对数据库的适当权限
GRANT INSERT, SELECT, CREATE, ALTER, DROP, INDEX, LOCK TABLES ON 3cx_cdr_db.* TO 'your_3cx_user'@'host';
FLUSH PRIVILEGES;
再次,根据上面给出的值替换 3cx_cdr_db、‘your_3cx_user’ 和 ‘host’
配置防火墙(如果适用)
确保您的 MySQL 服务器的防火墙允许来自 3CX 电话系统 IP 地址的 MySQL 端口(默认值:3306)上的入站连接。
- Linux (e.g., ufw):
sudo ufw allow from <3CX_PBX_IP_Address> to any port 3306
sudo ufw reload
- Windows 防火墙:创建入站规则以允许来自 3CX PBX 的 IP 地址在端口 3306 上建立 TCP 连接。
步骤2:在3CX上配置数据连接器
- 在 3CX 上,导航至管理控制台 > 集成 > 数据连接器
- 选择 ”MySQL"并输入以下内容:
- 主机:安装 MySQL 的主机的 IP 地址或 FQDN(如果可用)。
- 端口:数据库端口(默认值:3306)。
- 数据库名称:您在步骤 1 中创建的数据库的名称。
- 用户名:您在步骤 1 中创建的新用户的用户名。
- 密码:您为新用户配置的密码
- 频率:设置从 PBX 到 MySQL 的数据传输频率。
- 保存配置,然后点击 PBX 上的“测试”按钮,验证 MySQL 数据库的连接是否成功,并确认收到成功消息。如果测试失败,请仔细检查主机、端口、数据库名称、用户名和密码。此外,请验证 MySQL 主机或网络上的任何防火墙是否允许来自 PBX IP 的连接。
步骤3:将Grafana连接到MySQL实例
- 登录您的 Grafana 实例(例如,grafana.com 或您自托管的 Grafana)。
- 转到 Grafana 配置菜单(齿轮图标)并单击“数据源(Data Sources)" 并点击 "添加数据源(Add data source)“。
- 搜索并选择“MySQL“。
- 在“连接(Connection)”下配置数据源,输入以下详细信息:
- 主机(Host):输入 Mysql 数据库的 IP 或 FQDN 和端口,格式为:IP/FQDN:3306
- 数据库(Datebase):您在步骤 1 中创建的数据库的名称。
- 用户(Username):您在步骤 1 中创建的新用户的用户名
- 密码(Password):您为新用户配置的密码
- 点击 ”保存并测试(Save & test)“并确认您收到了”数据库连接正常(Database Connection OK)“消息。如果遇到错误,请仔细检查连接详细信息和 SSL 配置。此外,请验证 Microsoft SQL 主机或网络上的任何防火墙是否允许来自 Grafana IP 的连接。
上次更新
本文件最后更新于 2025 年 7 月 24 日
https://www.3cx.cn/docs/mysql-configuration/


