使用 SSH Tunnel 查看 3CX 数据库

随着 3CX V20 Update 6 alpha 的发布,3CX 也更新了他们的 CDR 数据库格式

但是 3CX 的数据库只允许本机(localhost)访问,可以使用数据库软件的 SSH Tunnel 功能。

⚠️注意:本文档仅适用于 Linux 服务器。

这个时候我们先 SSH 登录 3CX 执行命令查看数据库的密码:

cat /var/lib/3cxpbx/Bin/3CXPhoneSystem.ini

记住最后 [DbAdminREADONLY] 参数下的用户名和密码。用户名为 phonesystem。

image-20250402093706772

登录数据库

这里我们使用 pgadmin4 作为演示,可以替换成其他数据库软件。下载安装后打开,点击 Add New Server。

在 Name 字段为新的连接输入名字,我这里使用 3CX

image-20250402093904896

跳转到 Connection 标签,输入下列参数:

  • Host name/address:输入 127.0.0.1 或 localhost。
  • Port:5432。如果因为端口冲突修改了本地转发端口,填写修改后的端口。
  • Maintenance database:输入 database_single。
  • Username:phonesystem。
  • Password:输入前面查看的 DbAdminREADONLY 密码。
image-20250402094214602

转到 SSH Tunnel 字段

  • 开启 Use SSH tunnel 功能
  • Tunnel host:3CX 的服务器地址
  • Tunnel Port:SSH 端口
  • Username:用户名称
  • Authentication:选密码,则在连接的时候要求输入密码。选 Identify file 则选择本地的私钥文件。

点击 Save 后服务器会自动连接上。

我们依次展开 Database -> Database_single -> Schemas -> public -> Tables。可以看到 3CX 在这里存储的数据表。

image-20250402094439274

比如我们这里找到 3CX 在 V20 Update 6 更新的 cdroutput。右键点击 View/Edit Data -> All Rows

image-20250402094535169

可以看到 3CX CDR 的数据了。想要查看其他数据也是同理。

image-20250402094631359