The Mongod
概念
- Mongod是MongoDB 的主要守护进程,是数据库的核心服务器,处理连接请求,持久化数据
- 守护进程
【旨在运行但不直接与之交互的程序或进程】 【守护进程通常在他们的名字后面附加一个D】 - Mongod 包含我们可以用来使我们的数据库安全,分布式和一致的所有配置选项
- Mongod 可以包含多个服务器
- 当我们启动mongod时,实际上是在启动一个新的数据库,但是我们不直接与mongod进程交互。我们使用数据库客户端【mongoshell】与mongod通信,我们向客户端发出命令,客户端负责与mongod通信以执行这些命令
- 如果我们的部署有多个服务器,我们可以根据需要配置我们的客户端
mongoShell 并不是我们连接到 mongod 的唯一方法 MongoDB Compass Drivers (Node,Swift,Java,C/C++,etc.)
命令
下面的命令通过配置文件进行配置更方便
- 更改数据库路径
mongod --dbpath <目录路径> - 更改端口号
mongod --port <端口号> - 启用身份验证
mongod --auth - 允许某IP地址访问数据库
mongod --bind_ip 123.123.123.123 - 绑定多个地址和主机,可以用逗号分割
mongod --bind_ip localhost,123.123.123.123 - 使用指定的
--dbpath 和--logpath 启动 mongod mongod --dbpath /data/db --logpath /data/log/mongod.log - 启动 mongod 并 fork 进程
mongod --dbpath /data/db --logpath /data/log/mongod.log --fork - 使用许多配置选项启动 mongod
mongod --dbpath /data/db --logpath /data/log/mongod.log --fork --replSet "M103" --keyFile /data/keyfile --bind_ip "127.0.0.1,192.168.103.100" --tlsMode requireTLS --tlsCAFile "/etc/tls/TLSCA.pem" --tlsCertificateKeyFile "/etc/tls/tls.pem"
配置文件
- 在这里查看所有配置选项
- 使用配置文件
- 默认监听的端口
27017 ,默认绑定到localhost 【可以与mongod连接的数据库客户端是运行mongod的机器本地的数据库客户端】【mongoshell 会连接到 27017 端口:输入命令mongo (作用:connect )】 - 默认的
dbpath 是/data/db :储存数据库、集合和索引的数据文件的地方。还储存日志信息 auth: disable 默认情况下,身份验证处于关闭状态
设置
- 示例配置文件
- 注意缩进是一个空格,而不是tab键
storage:
dbPath: "/data/db"
systemLog:
path: "/data/log/mongod.log"
destination: "file"
replication:
replSetName: M103
net:
bindIp : "127.0.0.1,192.168.103.100"
tls:
mode: "requireTLS"
certificateKeyFile: "/etc/tls/tls.pem"
CAFile: "/etc/tls/TLSCA.pem"
security:
keyFile: "/data/keyfile"
processManagement:
fork: true
mongod.conf 的几个大块:systemLog:
storage:
processManagement:
net:
security:
operationProfiling:
replication:
sharding:
setParameter:
auditLog:
snmp:
使用mongod从配置文件监听某端口,并使用mongo进行连接
- 配置文件
net:
port: 27000
security:
authorization: "enabled"
- 启动命令
mongod --config mongod.conf - 使用mongo进行连接
mongo admin --host localhost:27000 --eval '
db.createUser({
user: "m103-admin",
pwd: "m103-pass",
roles: [
{role: "root", db: "admin"}
]
})
'
|