MongoDB 6.0.14版本mongodump命令执行失败求助
解决MongoDB 6.0.14下mongodump执行失败的问题
问题根源
你当前使用的mongodump工具版本适配MongoDB 4.4,而MongoDB 6.0已移除旧版OP_QUERY协议,旧版工具调用listCollections时仍依赖该协议,导致兼容性报错。
解决方案
1. 升级mongodump至MongoDB 6.0.x版本
在Ubuntu 20.04上执行以下操作:
- 卸载旧版MongoDB工具包:
sudo apt remove mongodb-org-tools - 导入MongoDB 6.0的GPG密钥:
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add - - 添加MongoDB 6.0的APT源:
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list - 更新缓存并安装新版工具:
sudo apt update sudo apt install mongodb-org-tools - 验证版本升级结果:
输出应显示mongodump --version6.0.x系列版本号。
2. 重新执行备份命令
升级完成后,再次运行原mongodump命令即可正常执行:
mongodump --uri mongodb+srv://<user>:<password>@<dbHost>/<dbName> --forceTableScan --collection <collectionName> --out <outputDirectory>
3. 无需全局升级的替代方案
若不想替换全局mongodump工具,可使用Docker临时运行MongoDB 6.0版本的工具完成备份:
docker run --rm -v /本地输出目录路径:/dump mongo:6.0 mongodump --uri mongodb+srv://<user>:<password>@<dbHost>/<dbName> --forceTableScan --collection <collectionName> --out /dump
将/本地输出目录路径替换为你实际存放备份文件的本地目录,备份完成后文件会同步到该目录。
内容的提问来源于stack exchange,提问作者Manoj Madushanka
相关产品推荐
相关产品推荐

