33060 是什么
33060 是 MySQL 8.0 的 X Plugin 默认端口,承载 X Protocol(mysqlx)——一种基于 protobuf 的接口,支持文档型、键值式的 CRUD 与异步调用。它使用同一套账号与权限体系,却常常不在安全基线的覆盖范围内:很多团队只记得加固 3306,忘了同一台机器上还有 33060 在监听。
基本信息
| 服务 | MySQL X Plugin(mysqlx) |
|---|---|
| 端口/协议 | 33060,TCP(经典协议 3306) |
| 配置项 | mysqlx、mysqlx-bind-address、mysqlx_port |
| 是否必需 | 非必需,可按需关闭 |
| 安全等级 | 默认应关闭或限制来源 |
典型使用场景
- 新式驱动接入:应用使用 X DevAPI 操作文档或键值数据
- 开发测试:探索 mysqlx 的异步接口与 CRUD 能力
- 安全基线核查:确认 33060 是否在监控与防火墙策略中
- 资产梳理:识别数据库主机上除 3306 之外还在监听的端口
- 容量规划:评估关闭或保留 X Plugin 对现有应用的影响
查看与关闭
查看与关闭
ss -lntp | grep -E ':(3306|33060) ' # 两个端口一起核对
mysql -uroot -p -e 'SHOW VARIABLES LIKE "mysqlx%"' | head -20 # 查看 X Plugin 相关参数
mysql -uroot -p -e 'SELECT plugin_name,plugin_status FROM information_schema.plugins WHERE plugin_name LIKE "%x%"'
# my.cnf 中关闭或限制:
# mysqlx=0
# mysqlx-bind-address=127.0.0.1两个协议端口对照
| 端口 | 协议 | 账号体系 | 常见疏漏 |
|---|---|---|---|
| 3306 | MySQL 经典协议 | 同一套授权表 | 已经在基线内,但口令与来源常未收紧 |
| 33060 | X Protocol | 同一套授权表 | 常被漏掉,监控与防火墙都未覆盖 |
| — | bind-address | 决定可达范围 | 只改了 3306 的绑定地址,33060 仍监听全网卡 |
最省事的收敛办法是两点:不需要 X Protocol 时直接关闭插件;需要时把 mysqlx-bind-address 限制到本机或应用网段,并在防火墙上只放行业务网段到 3306,让 33060 处于最小暴露状态。
做数据库安全基线时,把「实例上有哪些监听端口」作为固定检查项:MySQL 8.0 之后单一实例多端口已经是常态,只核对 3306 会系统性漏项。
关闭 X Plugin 前先确认应用侧驱动:使用 X DevAPI 的服务会立即无法连接。变更安排在发布窗口内,并准备好回滚步骤。
做暴露面统计时,数据库主机建议按「实例、版本、监听端口、绑定地址、授权来源」五列逐台登记。MySQL 8.0 之后一个实例同时监听经典协议与 X Protocol 已成常态,只有把端口列全,才能发现那些不在基线覆盖范围内的额外入口。