如何更新mongodump版本?解决2.6.12版本无法导出.GZIP文件问题
升级mongodump到3.x+并导出GZIP文件
没问题,我来帮你一步步搞定这个事儿!mongodump 2.6.x确实不支持直接导出GZIP压缩文件,升级到3.x及以上版本后就能用内置的--gzip参数实现这个功能了。
一、升级mongodump到3.x版本
下面分不同操作系统给出升级步骤,你可以根据自己的环境选择:
Linux(Debian/Ubuntu)
- 首先移除旧版本的MongoDB工具包:
sudo apt-get remove mongodb-org-tools - 添加MongoDB 3.6的官方软件源(3.x系列里3.6是长期支持版本,稳定可靠):
(注:如果你的Ubuntu版本不是xenial,需要替换成对应的版本代号,比如bionic、focal等)echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list - 导入MongoDB的GPG密钥:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 - 更新软件包列表并安装3.6版本的工具:
sudo apt-get update sudo apt-get install mongodb-org-tools=3.6.23 - 验证版本:
输出应该显示3.6.x的版本号。mongodump --version
Linux(RHEL/CentOS)
- 移除旧工具包:
sudo yum remove mongodb-org-tools - 创建MongoDB的yum源文件
/etc/yum.repos.d/mongodb-org-3.6.repo,内容如下:[mongodb-org-3.6] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc - 安装工具包:
sudo yum install mongodb-org-tools-3.6.23 - 验证版本:
mongodump --version
macOS(用Homebrew)
- 如果之前用Homebrew装过旧版本,先卸载:
brew uninstall mongodb - 安装3.6版本的MongoDB工具:
brew install mongodb@3.6 - 把工具加入环境变量(如果需要):
(如果用bash的话,替换成echo 'export PATH="/usr/local/opt/mongodb@3.6/bin:$PATH"' >> ~/.zshrc source ~/.zshrc~/.bash_profile) - 验证版本:
mongodump --version
Windows
- 前往MongoDB官方下载页面,选择3.6版本的“MongoDB Community Server”安装包,运行安装程序时选择只安装“MongoDB Tools”组件即可。
- 安装完成后,找到
mongodump.exe所在的目录(默认是C:\Program Files\MongoDB\Server\3.6\bin),把这个路径添加到系统环境变量的PATH里。 - 打开命令提示符,输入
mongodump --version验证版本。
二、使用新版本mongodump导出GZIP文件
升级完成后,你只需要在mongodump命令里加上--gzip参数,就能直接导出压缩后的文件了,举几个常用例子:
导出整个数据库:
mongodump --db your_database_name --gzip --out ./backup_dir执行后,
backup_dir目录下会生成带.gz后缀的备份文件。导出指定集合:
mongodump --db your_database_name --collection your_collection_name --gzip --out ./backup_dir远程连接MongoDB服务器导出:
mongodump --host your_host_ip --port 27017 --db your_database_name --username your_username --password your_password --gzip --out ./backup_dir(如果不需要认证,可以去掉
--username和--password参数)
注意:如果你的MongoDB服务器版本也是2.6,3.x的mongodump工具是可以兼容的,但如果后续有条件,建议把服务器也升级到3.x及以上版本,获得更好的兼容性和功能支持。
内容的提问来源于stack exchange,提问作者Raz
相关产品推荐
相关产品推荐

