在 Fedora 上安装 MongoDB 服务器的方法教程
Mongo(来自“humongous”——巨大的)是一个高性能、开源、无模式的、面向文档的数据库,它是最受欢迎的NoSQL数据库之一。它使用JSON作为文档格式,并且可以在多个服务器节点之间进行扩展和复制。
有关许可证更改的故事
MongoDB上游决定更改服务器代码的许可证已经一年多了。先前的许可证是GNUAfferoGeneralPublicLicensev3(AGPLv3)。但是,上游公司写了一个新许可证,旨在使运行MongoDB即服务的公司可以回馈社区。新许可证称为ServerSidePublicLicense(SSPLv1),关于这个举措及其解释的更多说明,请参见MongoDBSSPLFAQ。
Fedora一直只包含自由软件。当SSPL发布后,Fedora确定它并不是自由软件许可证。许可证更改日期(2018年10月)之前发布的所有MongoDB版本都可保留在Fedora中,但之后再也不更新的软件包会带来安全问题。因此,从Fedora30开始,Fedora社区决定完全移除MongoDB服务器。
开发人员还有哪些选择?
是的,还有替代方案,例如PostgreSQL在最新版本中也支持JSON,它可以在无法再使用MongoDB的情况下使用它。使用JSONB类型,索引在PostgreSQL中可以很好地工作,其性能可与MongoDB媲美,甚至不会受到ACID的影响。
开发人员可能选择MongoDB的技术原因并未随许可证而改变,因此许多人仍想使用它。重要的是要意识到,SSPL许可证仅更改仅针对MongoDB服务器。MongoDB上游还开发了其他项目,例如MongoDB工具、C和C++客户端库以及用于各种动态语言的连接器,这些项目在客户端使用(通过网络与服务器通信的应用中)。由于这些包的许可证人保持自由(主要是Apache许可证),因此它们保留在Fedora仓库中,因此用户可以将其用于应用开发。
唯一的变化实际是服务器软件包本身,它已从Fedora仓库中完全删除。让我们看看Fedora用户可以如何获取非自由的包。
如何从上游安装MongoDB服务器
当Fedora用户想要安装MongoDB服务器时,他们需要直接向上游获取MongoDB。但是,上游不为Fedora提供RPM包。相反,MongoDB服务器可以获取源码tarball,用户需要自己进行编译(这需要一些开发知识),或者Fedora用户可以使用一些兼容的包。在兼容的选项中,最好的选择是RHEL-8RPM。以下步骤描述了如何安装它们以及如何启动守护进程。
1、使用上游RPM创建仓库(RHEL-8构建)
$sudocat>/etc/yum.repos.d/mongodb.repo>>EOF [mongodb-upstream] name=MongoDBUpstreamRepository baseurl=https://repo.mongodb.org/yum/redhat/8Server/mongodb-org/4.2/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc EOF
2、安装元软件包,来拉取服务器和工具包
$sudodnfinstallmongodb-org ...... Installed: mongodb-org-4.2.3-1.el8.x86_64mongodb-org-mongos-4.2.3-1.el8.x86_64 mongodb-org-server-4.2.3-1.el8.x86_64mongodb-org-shell-4.2.3-1.el8.x86_64 mongodb-org-tools-4.2.3-1.el8.x86_64 Complete!
3、启动MongoDB守护进程
$sudosystemctlstatusmongod ●mongod.service-MongoDBDatabaseServer Loaded:loaded(/usr/lib/systemd/system/mongod.service;enabled;vendorpreset:disabled) Active:active(running)sinceSat2020-02-0812:33:45EST;2sago Docs:https://docs.mongodb.org/manual Process:15768ExecStartPre=/usr/bin/mkdir-p/var/run/mongodb(code=exited,status=0/SUCCESS) Process:15769ExecStartPre=/usr/bin/chownmongod:mongod/var/run/mongodb(code=exited,status=0/SUCCESS) Process:15770ExecStartPre=/usr/bin/chmod0755/var/run/mongodb(code=exited,status=0/SUCCESS) Process:15771ExecStart=/usr/bin/mongod$OPTIONS(code=exited,status=0/SUCCESS) MainPID:15773(mongod) Memory:70.4M CPU:611ms CGroup:/system.slice/mongod.service
4、通过mongoshell连接服务器来验证是否运行
$mongo MongoDBshellversionv4.2.3 connectingto:mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicitsession:session{"id":UUID("20b6e61f-c7cc-4e9b-a25e-5e306d60482f")} MongoDBserverversion:4.2.3 WelcometotheMongoDBshell. Forinteractivehelp,type"help". Formorecomprehensivedocumentation,see http://docs.mongodb.org/ ---
就是这样了。如你所见,RHEL-8包完美兼容,只要Fedora包还与RHEL-8兼容,它就应该会一直兼容。请注意,在使用时必须遵守SSPLv1许可证。
总结
到此这篇关于在Fedora上安装MongoDB服务器的方法教程的文章就介绍到这了,更多相关Fedora安装MongoDB服务器内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。