Meilisearch 升级必看:三分钟避开所有坑
文章目录
起因
将服务的一些搜索功能从Elasticsearch迁移到Meilisearch之后,已经过去好久了,抽时间将版本做了一下升级。
发现Meilisearch升级过程基本就是个灾难……本来为了方便就是通过官方的docker方式安装的meilisearch,本来想的是直接docker pull新版本就可以了
结果pull完 docker compose up时候提示
error=Your database version (1.11.3) is incompatible with your current engine version (1.13.3).
To migrate data between Meilisearch versions, please follow our guide on https://www.meilisearch.com/docs/learn/update_and_migration/updating.
需要去看官方的升级文档
最终步骤
curl -X POST 'http://127.0.0.1:7700/dumps' -H 'Authorization: Bearer MASTER密钥'
创建一个dump任务,拿到任务idcurl -X GET 'http://127.0.0.1:7700/tasks/任务id' -H 'Authorization: Bearer MASTER密钥'
根据前一步的任务ID查询dump任务状态,显示完成之后去dumps目录找到导出的文件- 修改原docker-compose.yaml,增加环境变量
MEILI_IMPORT_DUMP: /meili_data/dumps/备份文件
- 删除原数据目录的
data.ms
目录(建议提前备份) - 重新启动docker compose
注意事项
对于大规模数据,dump和恢复过程可能会耗时较长,建议在业务低峰期进行升级操作。
不过值得注意的是,官方在版本>=1.12之后提供了一个实验性的特性,支持直接原地升级,无需执行dump和导入操作。期待下一版本能够实现更便捷的在线升级体验。
文章作者 pengxiaochao
上次更新 2025-04-02
许可协议 不允许任何形式转载。