首页/网络/常用端口速查/9306 Sphinx/Manticore SQL 接口

9306 Sphinx/Manticore SQL 接口

全文检索引擎 searchd 的 SQL 兼容端口:用 mysql 客户端就能查索引;搜索 API 走 9312,两者成对出现。

常用端口速查网络更新于 2026-10-13

9306 是什么

9306 是 Sphinx 与 Manticore Search 中 searchd 的 SQL 接口端口:它实现了 MySQL 客户端协议的一部分,因此可以用标准 mysql 客户端连上去执行 SHOW TABLES、SELECT 配合 MATCH 等语句,既方便管理索引,也能在排障时直接验证检索结果。检索用的二进制 API 默认在 9312,两者配合使用:业务走 API 与 SQL 查询,运维与排障更常用 9306 手工确认。

基本信息

服务Sphinx / Manticore searchd(SQL 接口)
协议TCP(MySQL 方言)
配套端口9312(检索 API)
用途全文索引查询与维护
常见调用方PHP、Python 站点搜索
安全等级仅应用网段

典型使用场景

  • 搜索排障:直接查索引确认数据与关键词是否命中
  • 索引维护:查看索引清单与状态、触发重建
  • 接口对照:SQL 侧与 API 侧结果不一致时定位差异
  • 老站升级评估:从 Sphinx 迁移到 Manticore 的验证
  • 性能分析:查询耗时与索引结构的关系
  • 数据校验:业务库与索引内容的一致性抽查

常用 SQL 侧操作

语句作用注意
SHOW TABLES列出索引确认索引是否加载成功
SHOW INDEX STATUS查看索引状态重建进度在这里看
SELECT ... MATCH('关键词')验证检索结果与业务结果对照
SHOW META查看查询统计关键词命中情况排障

查询示例

查询示例
mysql -h127.0.0.1 -P9306 -e 'SHOW TABLES'                       # 索引清单
mysql -h127.0.0.1 -P9306 -e "SELECT id,WEIGHT() FROM idx WHERE MATCH('关键词') LIMIT 5"
mysql -h127.0.0.1 -P9306 -e 'SHOW META'                        # 上次查询的元信息
ss -lntp | grep -E '9306|9312'                                 # 端口核对
9306 只是「长得像 MySQL」:它不支持事务,DDL 语义也不同,用管理 MySQL 的习惯操作容易造成不可回滚的数据变更。
索引重建期间查询结果会变化:排障时先确认是否正在索引轮转,再对比前后结果,避免把正常行为当成缺陷。
索引与数据源不一致表现为「明明有数据却搜不到」:核对增量同步任务与索引时间戳,通常能立刻定位是同步中断而不是引擎故障。
分词配置决定召回效果:中文站点尤其如此,调整分词需要重建索引并留出验证窗口,不能直接在生产上试。

易错点

  • 把 9306 当普通 MySQL 执行管理语句:实时索引上的清空类操作不可回滚
  • 只查 SQL 口不做 API 侧验证:应用侧的错误可能来自驱动或协议版本,而非索引本身
  • 索引文件与数据源不一致:表现为明明有数据却搜不到,重建后才恢复
  • 重建索引不做容量与窗口评估:重建期间查询性能下降,业务侧报「搜索变慢」
  • 分词配置变更不留记录:搜索效果变化后无法解释原因

数据来源与参考

  • Sphinx / Manticore 官方文档(9306/9312)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌