MongoDB和Compass安装教程
MongoDB和Compass安装教程
MongoDB Compass 就是一个MongoDB的可视化连接工具,提供了丰富的功能。
安装MongoDB
下载MongoDB
进入MongoDB官网 :
点击进去后会有好几个菜单,我们选择 MongoDB Community Server(MongoDB 社区服务器,免费),打开后,可以看到右侧有选择 version,操作系统,和下载包类型。
MongoDB的版本命名规范如:x.y.z;
y为奇数时表示当前版本为开发版,如:1.5.2、4.1.13;
y为偶数时表示当前版本为稳定版,如:1.6.3、4.0.10;
z是修正版本号,数字越大越好。
Windows
选择合适的版本、操作系统、下载包的类型,下面是我们最后完成的选择:
Centos
选择合适的版本、操作系统、下载包的类型,下面是我们最后完成的选择:
Windows 安装
这里我没有依照官网进行书写,本人使用的是解压版,感兴趣的朋友可以依照官网根据其他类型进行安装
安装
根据上面的示例,我们下载后会得到一个文件 mongodb-windows-x86_64-4.4.2-rc1.zip
。
第一步:将压缩包解压到指定目录:
第二步:在解压目录中,手动建立一个目录用于存放数据文件,如 data/db
启动 MongoDB Serve:
方式一:命令行参数方式启动服务
在 bin 目录中打开命令行提示符,输入如下命令:
mongod --dbpath=..\data\db
我们在启动信息中可以看到,MongoDB的默认端口是27017,如果我们想改变默认的启动端口,可以通过–port来指定端口。
为了方便我们每次启动,可以将安装目录的bin目录设置到环境变量的path中, bin 目录下是一些常用命令,比如 mongod 启动服务用的,mongo 客户端连接服务用的。
方式2:配置文件方式启动服务
在解压目录中新建 config 文件夹,该文件夹中新建配置文件 mongod.conf ,内如参考如下(文件内容格式是yaml):
storage:#The directory where the mongod instance stores its data.Default Value is "\data\db" on Windows.dbPath: D:\work\databases\mongodb-windows-x86_64-4.4.2-rc1\mongodb-win32-x86_64-windows-4.4.2-rc1\data
Configuration File Options 配置文件配置
注意:
1)配置文件中如果使用双引号,比如路径地址,自动会将双引号的内容转义。如果不转义,则会报错:
error-parsing-yaml-config-file-yaml-cpp-error-at-line-3-column-15-unknown-escape-character-d
解决:
a. 路径分隔符使用反斜杠“\”
b. 如果路径中没有空格,则无需加引号。2)配置文件不使用空格
直接使用路径即可,正斜杠,反斜杠都可以实现
3)配置文件中不能以Tab分割字段
yaml格式,两个空格,value与前面的冒号有一个空格。
例如:
key: value
启动方式:
# 方式1
path/bin>mongod --config ../config/mongod.conf# 方式2
path/bin>mongos --config ../config/mongod.conf# 方式3
path/bin>mongod -f ../config/mongod.conf# 方式4
path/bin>mongos -f ../config/mongod.conf
注意:
在windows上使用配置文件方式启动mongod服务报错:
Error opening config file: Is a directory
try ‘mongod --help’ for more information是因为path里面有空格(相对路径也不可以),此时需要使用双引号将绝对路径包起来:
D:>mongod -f “Program Files (x86)\mongod.conf”
更多参数配置:
systemLog:destination: filepath: "D:/work/databases/mongodb-windows-x86_64-4.4.2-rc1/mongodb-win32-x86_64-windows-4.4.2-rc1/log/mongod.log"logAppend: true
storage:journal:enabled: truedbPath: "D:/work/databases/mongodb-windows-x86_64-4.4.2-rc1/mongodb-win32-x86_64-windows-4.4.2-rc1/data"
net:bindIp: 127.0.0.1port: 27018
setParameter:enableLocalhostAuthBypass: false
Shell连接(mongo命令)
# 方式一
path/bin>mongo
MongoDB shell version v4.4.2-rc1
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("66829c0e-9448-4f0b-b2ca-52b7d4a18a48") }
MongoDB server version: 4.4.2-rc1
...# 方式二
path/bin>mongo --host=127.0.0.1 --port=27017
MongoDB shell version v4.4.2-rc1
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("c1295bad-6be3-4bd7-8760-1db05530c155") }
MongoDB server version: 4.4.2-rc1
...
查看已经有的数据库
> show databases
admin 0.000GB
config 0.000GB
local 0.000GB
退出mongodb
> exit
bye
更多参数可以通过帮助查看:
# mongod -h 还有 mongo -h
D:\work\databases\mongodb-windows-x86_64-4.4.2-rc1\mongodb-win32-x86_64-windows-4.4.2-rc1\bin>mongod -h
Options:--networkMessageCompressors arg (=snappy,zstd,zlib)Comma-separated list of compressors touse for network messagesGeneral options:-h [ --help ] Show this usage information--version Show version information-f [ --config ] arg Configuration file specifyingadditional options--configExpand arg Process expansion directives in configfile (none, exec, rest)--port arg Specify port number - 27017 by default--ipv6 Enable IPv6 support (disabled bydefault)--listenBacklog arg (=2147483647) Set socket listen backlog size--maxConns arg (=1000000) Max number of simultaneous connections--pidfilepath arg Full path to pidfile (if not set, nopidfile is created)--timeZoneInfo arg Full path to time zone info directory,e.g. /usr/share/zoneinfo-v [ --verbose ] [=arg(=v)] Be more verbose (include multiple timesfor more verbosity e.g. -vvvvv)--quiet Quieter output--logpath arg Log file to send write to instead ofstdout - has to be a file, notdirectory--logappend Append to logpath instead ofover-writing--logRotate arg Set the log rotation behavior(rename|reopen)--timeStampFormat arg Desired format for timestamps in logmessages. One of iso8601-utc oriso8601-local--setParameter arg Set a configurable parameter--bind_ip arg Comma separated list of ip addresses tolisten on - localhost by default--bind_ip_all Bind to all ip addresses--noauth Run without security--transitionToAuth For rolling access control upgrade.Attempt to authenticate over outgoingconnections and proceed regardless ofsuccess. Accept incoming connectionswith or without authentication.--slowms arg (=100) Value of slow for profile and consolelog--slowOpSampleRate arg (=1) Fraction of slow ops to include in theprofile and console log--profileFilter arg Query predicate to control whichoperations are logged and profiled--auth Run with security--clusterIpSourceWhitelist arg Network CIDR specification of permittedorigin for `__system` access--profile arg 0=off 1=slow, 2=all--cpu Periodically show cpu and iowaitutilization--sysinfo Print some diagnostic systeminformation--noscripting Disable scripting engine--notablescan Do not allow table scans--keyFile arg Private key for cluster authentication--clusterAuthMode arg Authentication mode used for clusterauthentication. Alternatives are(keyFile|sendKeyFile|sendX509|x509)Replication options:--oplogSize arg Size to use (in MB) for replication oplog. default is 5% of disk space (i.e.large is good)Replica set options:--replSet arg arg is <setname>[/<optionalseedhostlist>]--enableMajorityReadConcern [=arg(=1)] (=1)Enables majority readConcernSharding options:--configsvr Declare this is a config db of acluster; default port 27019; defaultdir /data/configdb--shardsvr Declare this is a shard db of acluster; default port 27018Storage options:--storageEngine arg What storage engine to use - defaultsto wiredTiger if no data files present--dbpath arg Directory for datafiles - defaults to\data\db\ which is D:\data\db\ based onthe current working drive--directoryperdb Each database will be stored in aseparate directory--syncdelay arg (=60) Seconds between disk syncs--journalCommitInterval arg (=100) how often to group/batch commit (ms)--upgrade Upgrade db if needed--repair Run repair on all dbs--journal Enable journaling--nojournal Disable journaling (journaling is on bydefault for 64 bit)--oplogMinRetentionHours arg (=0) Minimum number of hours to preserve inthe oplog. Default is 0 (turned off).Fractions are allowed (e.g. 1.5 hours)TLS Options:--tlsOnNormalPorts Use TLS on configured ports--tlsMode arg Set the TLS operation mode(disabled|allowTLS|preferTLS|requireTLS)--tlsCertificateKeyFile arg Certificate and key file for TLS--tlsCertificateKeyFilePassword arg Password to unlock key in the TLScertificate key file--tlsClusterFile arg Key file for internal TLSauthentication--tlsClusterPassword arg Internal authentication key filepassword--tlsCAFile arg Certificate Authority file for TLS--tlsClusterCAFile arg CA used for verifying remotes duringinbound connections--tlsCRLFile arg Certificate Revocation List file forTLS--tlsDisabledProtocols arg Comma separated list of TLS protocolsto disable [TLS1_0,TLS1_1,TLS1_2]--tlsAllowConnectionsWithoutCertificatesAllow client to connect withoutpresenting a certificate--tlsAllowInvalidHostnames Allow server certificates to providenon-matching hostnames--tlsAllowInvalidCertificates Allow connections to servers withinvalid certificates--tlsFIPSMode Activate FIPS 140-2 mode at startup--tlsCertificateSelector arg TLS Certificate in system store--tlsClusterCertificateSelector arg SSL/TLS Certificate in system store forinternal TLS authentication--tlsLogVersions arg Comma separated list of TLS protocolsto log on connect [TLS1_0,TLS1_1,TLS1_2]WiredTiger options:--wiredTigerCacheSizeGB arg Maximum amount of memory to allocatefor cache; Defaults to 1/2 of physicalRAM--wiredTigerJournalCompressor arg (=snappy)Use a compressor for log records[none|snappy|zlib|zstd]--wiredTigerDirectoryForIndexes Put indexes and data in differentdirectories--wiredTigerCollectionBlockCompressor arg (=snappy)Block compression algorithm forcollection data [none|snappy|zlib|zstd]--wiredTigerIndexPrefixCompression arg (=1)Use prefix compression on row-storeleaf pagesAWS IAM Options:--awsIamSessionToken arg AWS Session Token for temporarycredentialsFree Monitoring Options:--enableFreeMonitoring arg Enable Cloud Free Monitoring(on|runtime|off)--freeMonitoringTag arg Cloud Free Monitoring TagsWindows Service Control Manager options:--install Install Windows service--remove Remove Windows service--reinstall Reinstall Windows service (equivalentto --remove followed by --install)--serviceName arg Windows service name--serviceDisplayName arg Windows service display name--serviceDescription arg Windows service description--serviceUser arg Account for service execution--servicePassword arg Password used to authenticateserviceUser
提示:
MongoDB javascript shell是一个基于javascript的解释器,故是支持js程序的。
创建windows服务
- 将mongodb的bin目录设置到path系统变量中去,然后使用以下命令创建一个服务:
# 创建
mongod -f "XX\XX\mongod.conf" --install --serviceName "mongod"
#启动
net start mongod
#关闭
net stop mongod
# 更多操作可以在Windows服务中去设置,比如开机自启什么的
注意:
这里使用管理员运行的cmd命令,不然会创建不成功。
Read Hat 安装
使用tgz方式解压安装
sudo yum install libcurl openssl xz-libs
1. 在Version下拉菜单中,选择要下载的MongoDB版本。
2.在Platform下拉列表中,选择您的操作系统版本和架构。
tar -zxvf mongodb-linux-*-4.4.1.tgz
vim ~/.bash_profile
PATH=/apps/mongodb4.4/mongodb-linux-x86_64-rhel80-4.4.1/bin:$PATH
source ~/.bash_profile
# 数据库目录mkdir -p data/db
# 日志目录
mkdir log
# 配置文件目录
mkdir config
# pid文件目录
mkdir pid
默认情况下,MongoDB运行使用mongod用户帐户。设置这些目录的所有者和组为mongod:
# 创建用户和组
useradd mongod -M -s /sbin/nologin
# 添加文件夹的用户和用户组 sudo chown -R mongod:mongod <directory>
chown -R mongod:mongod mongodb-linux-x86_64-rhel80-4.4.1
设置配置文件 mongod.conf (config/mongod.conf)
Configuration File Options 配置文件配置
# where to write logging data.
systemLog:destination: filelogAppend: truepath: /apps/mongodb4.4/mongodb-linux-x86_64-rhel80-4.4.1/log/mongod.log# Where and how to store data.
storage:dbPath: /apps/mongodb4.4/mongodb-linux-x86_64-rhel80-4.4.1/data/dbjournal:enabled: true
# engine:
# wiredTiger:# how the process runs
processManagement:fork: true # fork and run in backgroundpidFilePath: /apps/mongodb4.4/mongodb-linux-x86_64-rhel80-4.4.1/pid/mongod.pid # location of pidfiletimeZoneInfo: /usr/share/zoneinfo
# network interfaces
net:port: 27017# 此时其他机器连不上本机,需要将127.0.0.1 替换成 0.0.0.0#bindIp: 127.0.0.1 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.bindIp: 0.0.0.0 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.#security:
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options
#auditLog:
#snmp:
# 方式一:
mongod --dbpath ../data/db --logpath ../log/mongod.log -fork
# 方式二([mongod | mongos] [-f | --config] mongod.conf):
mongod --config ../config/mongod.conf
mongo
# 先连接MongoDB
mongo
# 关闭(第一种)
> use admin
switched to db admin
> db.shutdownServer()
server should be down...# 关闭(第二种)
mongo --shutdown --dbpath ../data/db --logpath ../log/mongod.log
mongo --shutdown --config ../config/mongod.conf
如果一旦是因为数据损坏,则需要进行如下操作(了解):
1)删除lock文件:
find / -name mongod.lock
rm -rf mongod.lock
2)修复数据:
mongod --repair --dbpath=/mongodb/data/db
生成systemctl 服务
1)在/usr/lib/systemd/system 下创建一个mongod.service 文件,内容如下:
[Unit]
Description=Mongodb
Documentation=https://docs.mongodb.com/manual/
After=network.target remote-fs.target nss-lookup.target[Service]
Type=forking
PIDFile=/apps/mongodb4.4/mongodb-linux-x86_64-rhel80-4.4.1/pid/mongod.pid
ExecStart=mongod --config /apps/mongodb4.4/mongodb-linux-x86_64-rhel80-4.4.1/config/mongod.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/apps/mongodb4.4/mongodb-linux-x86_64-rhel80-4.4.1/bin/mongod --shutdown --config /apps/mongodb4.4/mongodb-linux-x86_64-rhel80-4.4.1/config/mongod.conf
PrivateTmp=true
Restart=always
RestartSec=1 #1s后重启[Install]
WantedBy=multi-user.target
2)服务使用命令
启动服务
systemctl start mongod.service
重启服务
systemctl restart mongod.service
关闭服务
systemctl stop mongod.service
开机启动
systemctl enable mongodb.service
yum 安装
Create a
/etc/yum.repos.d/mongodb-org-4.4.repo
file so that you can install MongoDB directly usingyum
:[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
# 将上面的内容复制进 mongodb-org-4.4.repo
[root@iZ2vc28obhvfh8zjqb9lc9Z apps]# vim /etc/yum.repos.d/mongodb-org-4.4.repo
2)安装MongoDB 包
需要执行下面的命令
sudo yum install -y mongodb-org
文档中提示了 以防系统自动升级MongoDB,将在配置文件 /etc/yum.conf 添加一条指令
You can specify any available version of MongoDB. However
yum
upgrades the packages when a newer version becomes available. To prevent unintended upgrades, pin the package. To pin a package, add the followingexclude
directive to your/etc/yum.conf
file:exclude=mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools
文件路径
使用默认目录
默认情况下,MongoDB运行使用mongod用户帐户,并使用以下默认目录:
# where to write logging data.
systemLog:destination: filelogAppend: truepath: /var/log/mongodb/mongod.log# Where and how to store data.
storage:dbPath: /var/lib/mongojournal:enabled: true
# engine:
# wiredTiger:# how the process runs
processManagement:fork: true # fork and run in backgroundpidFilePath: /var/run/mongodb/mongod.pid # location of pidfiletimeZoneInfo: /usr/share/zoneinfo# network interfaces
net:port: 27017# 此时其他机器连不上本机,需要将127.0.0.1 替换成 0.0.0.0bindIp: 127.0.0.1 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.#security:
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options
#auditLog:
#snmp:
由于我们使用的是yum 包管理安装的,所以会创建默认的目录,并将这些目录的所有者和组设置为mongod。
[root@iZ2vc28obhvfh8zjqb9lc9Z lib]# ll /var/lib/ | grep mongo
drwxr-xr-x 2 mongod mongod 6 Sep 8 23:07 mongo
使用默认目录以外的数据目录和/或日志目录:
1.创建一个或多个新目录。
2.编辑配置文件/etc/mongod.conf,修改以下字段:
storage.dbPath
to specify a new data directory path (e.g./some/data/directory
)systemLog.path
to specify a new log file path (e.g./some/log/directory/mongod.log
)确保运行MongoDB的用户能够访问一个或多个目录:
sudo chown -R mongod:mongod
如果是使用解压安装的,需要自己创建默认的MongoDB目录,创建MongoDB数据和日志目录:
sudo mkdir -p /var/lib/mongo
sudo mkdir -p /var/log/mongodb默认情况下,MongoDB运行使用mongod用户帐户。一旦创建,设置这些目录的所有者和组为mongod:
sudo chown -R mongod:mongod
初始化程序
sudo systemctl start mongod
sudo systemctl status mongod
sudo systemctl enable mongod
sudo systemctl stop mongod
sudo systemctl restart mongod
您可以通过观察/var/log/mongodb/mongod.log文件中的输出来跟踪进程的错误或重要消息的状态。
6)连接MongoDB
在启动了MongoDB的主机上运行命令:
mongo
有关使用mongo shell连接的更多信息,例如连接到运行在不同主机和/或端口上的mongod实例,请参阅mongo shell。
为了帮助你开始使用MongoDB, MongoDB提供了各种驱动版本的入门指南。有关驱动程序文档,请参见Start development with MongoDB
For more information on connecting using the
mongo
shell, such as to connect to amongod
instance running on a different host and/or port, see The mongo Shell.To help you start using MongoDB, MongoDB provides Getting Started Guides in various driver editions. For the driver documentation, see Start Developing with MongoDB.
Centos 卸载
sudo service mongod stop
sudo yum erase $(rpm -qa | grep mongodb-org)
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongo
Compass 客户端
下载安装
官网中,在 Software下拉选中选择 Compass,然后点击Try it now。
选择合适的版本的文件类型,然后点击download下载。
注意:
根据文档 https://docs.mongodb.com/compass/current/ 可以知道Compass 包含四个版本
1.Compass :MongoDB Compass的完整版本,具有所有功能。
2.Compass Readonly:严格限制读操作,删除所有写和删除功能。
3.Compass Isolated:除了Compass连接到的MongoDB服务器之外,不初始化任何网络请求。这个版本是为高度安全的环境设计的。
4.Compass Community:专为MongoDB开发而设计,包括Compass的一个子集功能。(此版本已被弃用。)
安装后的界面:
连接MongoDB
有两种方式,一种是使用字符串,另一种是填写连接的必填项(点击首页的 Fill in connection fields individually)
方式一(默认, Standard Connection String Format ):
mongodb://127.0.0.1:27017
MongoDB和Compass安装教程相关推荐
- Mac MongoDB客户端MongoBooster安装教程分享
mongobooster拥有多种设计工具,在可视化方面的运用非常广泛,不仅是针对MongoDB数据库而已,其连接的方式也非常简单,让您可以轻松访问MongoDB服务器,实现数据可视化操作!今天要给大家 ...
- python3数据库MongoDB的全面安装教程
MongoDB 是由C++语言编写的非关系型数据库,是一个基于分布式文件存储的开源数据库系统其内容存储形式类似 JSON 对象,它的字段值可以包含其他文档.数组及文档数组,非常灵活. MongoDB支 ...
- mongodb安装失败与解决方法(附安装教程)
mongodb安装失败与解决方法(附安装教程) 参考文章: (1)mongodb安装失败与解决方法(附安装教程) (2)https://www.cnblogs.com/liuda-page/p/922 ...
- MongoDB入门 - 安装教程
MongoDB是NoSQL分布式文件存储型数据库 1. 官网下载 官网 版本选择&&下载 历史版本 一览表 2. 安装步骤 双击.msi运行程序: 接着按下图所示安装: 慢慢等待,别急 ...
- 一、mongoDB window64 百度网盘资源下载,及安装教程
最新在学习 Node.js,涉及 mongoDB 安装包下载时,csdn 上各种下载资源都需要积分,本身学习就不容易,下载个资源还有阻碍.自己这里附上免费资源,mongo 当前最新版本(2020年4月 ...
- MongoDB安装教程(Win10Linux)
MongoDB安装教程(Win10&Linux) Win10下安装MongoDB Linux下安装MongoDB Win10下安装MongoDB 1.下载 可以在官网下载,打开页面是这样的,看 ...
- MongoDB 最新安装教程
MongoDB 最新安装教程 1.下载Mongodb6 mongodb下载链接 2.解压安装 3.安装好mongodb到目录下找到目录复制目录地址 4.配置环境变量 到path下去编辑,将复制的目录地 ...
- MongoDB的下载安装与配置
下载 进入mongoDB官网https://www.mongodb.com/download-center/community即可免费下载社区版 进入官网,选择相应的版本及对应系统,Package可以 ...
- mongodb5.0下载详细安装教程(win10)
记录mongodb5.0 win10下的安装教程,小伙伴们可以参考. 一.下载 可以官网下载,但是官网服务器在国外,速度较慢,我已经下载好放在[我的网盘]了,密码是3360,一共两个文件,大家可点击下 ...
- mongodb c++ driver安装踩坑记
安装教程:https://mongodb.github.io/mongo-cxx-driver/mongocxx-v3/installation/ (1) "initializer_list ...
最新文章
- python3 urllib
- 如何不编程,采集网站评论信息?(视频教程)
- Discuz!NT 模板机制分析(转)
- C++中如何定义某个数组的引用?
- 必备快速定位排查问题命令
- luogu P1762 偶数
- NET Core微服务之路:简单谈谈对ELK,Splunk,Exceptionless统一日志收集中心的心得体会...
- spring基础——普通bean xml注入
- 数据库课程设计报告格式模版
- 微信小程序获取tabbar的高度_微信小程序自定义tabbar
- Emmagee--APP性能测试工具的基本使用
- 测试记录2:APM32对比HK32
- python获取所有上市公司的加权净资产收益率
- 用c写一个等腰三角星星图案
- 最大似然估计(机器学习)
- 我想请你,书写新世界!
- 我们应该如何看待马斯克心心念念的“超循环”技术
- 助力智慧医疗,解析i.MX8MM在麻醉系统中的应用方案
- VulnHub靶场LupinOne
- VM的下载与安装(一)