mongoDB 安装、启动与连接


1、安装

mongoDB 分社区版和企业版,普通用户都安装社区版
MongoDB 有两种安装方式:一种是 通过 yum 安装,另一种是直接下载 安装包 解压就可以了。
yum安装会自动做一些配置, 如生成配置文件,日志、数据库存储文件,及linux服务

# yum安装会自动创建 文件夹
# 数据存储位置
/var/lib/mongo
 
# 日志文件夹
/var/log/mongodb

# 生成配置文件
/etc/mongod.conf 

解压安装则需要手动创建,

详情官网:https://docs.mongodb.com/manual/administration/install-on-linux/

2、启动MongoDB 与 连接

启动与关闭MongoDB

# 启动
sudo systemctl start mongod

#查看状态
sudo systemctl status mongod

#停止
sudo systemctl stop mongod

#服务自启
sudo systemctl enable mongod

#也可以手动启动 手动安装命令在 /解压包路径/bin/mongod 
/usr/bin/mongod -f /etc/mongod.conf

#手动关闭
/usr/bin/mongod -f /etc/mongod.conf --shutdown

一个机器上安装一个 mongodb,可以启动多个实例。即可以 使用 不同的 配置文件(端口,dbpath,logpath都不同)启动
配置文件参考:https://docs.mongodb.com/manual/reference/configuration-options/

启动MongoDB服务后才能连接,连接后才能使用数据库
连接MongoDB

#连接本机的mongo 且 默认配置 ,手动安装命令在 /解压包路径/bin/mongo
/usr/bin/mongo 

# mongo 连接有两种方式:
# 第一种: mongo  直接带参数命令
mongo --host hostname --port port -username username -password pwd 

#如果配置了环境变量路径直接
mongo

./mongo 127.0.0.1:27017/database -u root -p 123456

# 第二种 使用 连接字符串
# 完整命令
mongo "mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]"

# mongodb:// 这是固定的格式,必须要指定。
# username:password@ 可选项,如果设置,在连接数据库服务器之后,驱动都会尝试登录这个数据库
# host1 必须的指定至少一个host, host1 是这个URI唯一要填写的。它指定了要连接服务器的地址。如果要连接复制集,请指定多个主机地址。
# portX 可选的指定端口,如果不填,默认为27017
# /database 如果指定username:password@,连接并验证登录指定数据库。若不指定,默认打开 test 数据库。
# ?options 是连接选项。如果不使用/database,则前面需要加上/。所有连接选项都是键值对name=value,键值对之间通过&或;(分号)隔开

## 如果开启了用户认证,并使用 mongo命令 直接进入 shell
db.auth("userName", "123123");

# 使用用户名fred,密码foobar登录localhost的baz数据库
mongodb://fred:foobar@localhost/baz

# 连接复制集myRepl,读取偏好 secondary
mongo "mongodb://db0.example.com,db1.example.com,db2.example.com/?replicaSet=myRepl&readPreference=secondary&maxStalenessSeconds=120"

# 设置了账号密码,且连接的数据库和 账号的所在数据库不一致,需要设置 authSource 参数
# 实际连接的是 test 数据库,但账号密码 是 admin 数据库上的(设置了能操作其他数据库的权限)
mongo "mongodb://username:pwd@db0.example.com,db1.example.com,db2.example.com/test?replicaSet=myRepl&readPreference=secondary&maxStalenessSeconds=120&authSource=admin"

options:

选项 描述
replicaSet=name 验证replica set的名称。 Impliesconnect=replicaSet.
slaveOk=true false
true:在connect=direct模式下,驱动会连接第一台机器,即使这台服务器不是主。在connect=replicaSet模式下,驱动会发送所有的写请求到主并且把读取操作分布在其他从服务器。
false: 在 connect=direct模式下,驱动会自动找寻主服务器. 在connect=replicaSet 模式下,驱动仅仅连接主服务器,并且所有的读写命令都连接到主服务器。
safe=true false
true: 在执行更新操作之后,驱动都会发送getLastError命令来确保更新成功。(还要参考 wtimeoutMS).
false: 在每次更新之后,驱动不会发送getLastError来确保更新成功。
w=n 驱动添加 { w : n } 到getLastError命令. 应用于safe=true。
wtimeoutMS=ms 驱动添加 { wtimeout : ms } 到 getlasterror 命令. 应用于 safe=true.
fsync=true false
true: 驱动添加 { fsync : true } 到 getlasterror 命令.应用于 safe=true.
false: 驱动不会添加到getLastError命令中。
journal=true false
connectTimeoutMS=ms 可以打开连接的时间。
socketTimeoutMS=ms 发送和接受sockets的时间。

mongo 命令连接:
https://docs.mongodb.com/v4.0/reference/connection-string/
https://docs.mongodb.com/v4.0/reference/program/mongo/index.html


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM