二进制安装最稳,但必须先用ldd --version检查GLIBC版本:Rocky 9.2(2.34)需降级至v1.28.1等兼容版,Ubuntu 22.04(2.35)可直装最新版;启动必设--http-addr 0.0.0.0:7700、--master-key和--db-path,且systemd中WorkingDirectory须与db-path父目录一致并赋权。

meilisearch 二进制安装最稳,但不检查 GLIBC 版本就硬装,大概率启动失败报 /lib64/libc.so.6: version 'GLIBC_2.35' not found ——这不是安装错了,是你的系统太老,新版二进制跑不动。
怎么查 GLIBC 版本再决定装哪个版本
别急着下载或执行一键脚本,先看系统底子:ldd --version 输出的版本号,就是你当前 GLIBC 的真实版本。
常见情况:
- Rocky Linux / CentOS 9.2 →
GLIBC 2.34,不能直接跑meilisearch v1.29.0+ - Ubuntu 22.04 →
GLIBC 2.35,可直接用最新版 - Ubuntu 20.04 →
GLIBC 2.31,得降级到v1.27.0或更早
解决办法只有两个:
– 去 GitHub Releases 找带 -linux-amd64 或 -linux-aarch64 后缀、且兼容你 GLIBC 的旧版(比如 v1.28.1);
– 或者改用 Docker:它自带运行时,完全绕开宿主机 GLIBC 限制。
为什么推荐 curl -L https://install.meilisearch.com | sh 而不是手动 wget
这个官方脚本会自动检测 CPU 架构(x86_64 / aarch64),下载对应二进制,并放到 /usr/local/bin/meilisearch,省去手动 chmod +x 和 mv 步骤。
但注意:
- 脚本默认不加
sudo,如果提示Permission denied写入/usr/local/bin,就得加sudo curl -L https://install.meilisearch.com | sh - 别下载完自己重命名(比如改成
ms),后续 systemd 或 CI/CD 脚本调用会断 - 脚本装的是最新版,所以必须配合上一步的 GLIBC 检查,否则装完也白装
启动时三个参数缺一不可:--http-addr、--master-key、--db-path
只跑 meilisearch 命令,它默认:
- 绑定
127.0.0.1:7700→ 外网访问直接Connection refused - 没设
--master-key→ 所有写接口(建索引、导入文档)返回401 Unauthorized - 没设
--db-path→ 数据写在临时目录或当前工作目录,重启就丢
正确启动命令示例:
meilisearch \ --http-addr 0.0.0.0:7700 \ --master-key "MySecureKey123!" \ --db-path /var/lib/meilisearch/data
注意:
– --http-addr 必须是 0.0.0.0:7700,不是 127.0.0.1 或空着;
– --master-key 建议至少 16 位,含大小写字母+数字+符号;
– --db-path 对应目录必须提前创建并赋权:sudo mkdir -p /var/lib/meilisearch/data && sudo chown $USER:$USER /var/lib/meilisearch
systemd 服务里 WorkingDirectory 和 db-path 容易静默失败
很多人写完 /etc/systemd/system/meilisearch.service,systemctl start 显示 active (exited),但 netstat -tlnp | grep 7700 查不到监听,日志里也没报错——问题往往出在路径不一致。
WorkingDirectory 和 --db-path 的父目录必须对齐,否则 meilisearch 会退回到内存模式(即又变临时实例,数据不持久)。
典型错误配置:
[Service] WorkingDirectory=/var/lib/meilisearch ExecStart=/usr/local/bin/meilisearch --db-path /opt/meilisearch/data
这里 WorkingDirectory 是 /var/lib/meilisearch,但 --db-path 指向 /opt,进程实际仍尝试在 /var/lib/meilisearch 下建 data.ms,而该目录若无写权限,就静默失败。
修复方式:
– 统一路径,比如都用 /var/lib/meilisearch;
– 确保该目录存在且属主正确:sudo chown $USER:$USER /var/lib/meilisearch;
– 验证:启动后 ls /var/lib/meilisearch/data 应能看到 database.db 等文件。
真正卡住人的从来不是“怎么装”,而是“装完跑不起来”——绝大多数问题都集中在 GLIBC 兼容性、--http-addr 绑定范围、WorkingDirectory 与 --db-path 路径错位这三点上。











