它是由C++编写的分布式文档数据库。
内部使用类似于Json的bson格式。
官网文档https://docs.mongodb.com/
中文手册https://www.w3cschool.cn/mongodb/
安装
https://www.mongodb.com/download-center/community
windows下载官方zip,解压即可使用。
组件 | 文件 |
---|---|
server | mongod.exe |
client | mongos.exe |
router | mongo.exe |
运行
$ cd /d/mongodb/bin
$ ./mongod.exe
2019-08-02T03:26:13.234-0700 I STORAGE [initandlisten] exception in
initAndListen: NonExistentPath: Data directory d:\data\db\ not found.,
terminating
启动服务出错,原因在于找不到数据目录。默认是/data/db
windows下在当前盘符根目录下创建目录即可`d:/data/db`
选项说明
--bind_ip ip 逗号分隔IP地址。默认localhost
--bind_ip_all 绑定所有本地IP地址
--port port 端口,默认27017
--dbpath path 数据路径,缺省为\data\db\ 。windows下缺省就是当前盘符的根目录
--logpath path 指定日志文件,替代stdout,说明默认是控制台打印日志
-f file 指定配置文件,yaml格式
注册windows服务
- --install 注册windows服务
- --serviceName name 服务名称
- --serviceDisplayName name 服务显示名
配置文件
mongodb配置使用YAML格式
嵌套使用缩进完成,不支持Tab等制表符,支持空格
冒号后要有空格
Yaml参考 https://www.w3cschool.cn/iqmrhf/dotvpozt.html
配置 http://mongoing.com/docs/reference/configuration-options.html
指明日志的地址
指明数据存放地址,需要提前新建文件夹
指明ip和端口
systemLog:
destination: file
path: "/d/mongodb/mongod.log"
logAppend: true
storage:
dbPath: "D:/data/db"
net:
bindIp: 127.0.0.1
port: 27017
选项
- systemLog
- destination,缺省是输出日志到std,file表示输出到文件
- path,日志文件路径。文件目录必须存在
- logAppend,true表示在已存在的日志文件追加。默认false,每次启动服务,重新创建新的日志。
- storage
- dbPath,必须指定mongodb的数据目录,目录必须存在
- net
- bindIp,缺省绑定到127.0.0.1
- port,端口,缺省为27017,客户端连接用
依赖配置文件启动
$ ./mongod.exe -f "d:/mongodb/bin/mongod.cfg"
Windows下注册为服务的命令如下,使用了配置文件:
$ mongod.exe -f "d:/mongodb/bin/mongod.cfg" --serviceName mongod --serviceDisplayName mongo --install
注意,注册服务得需要管理员权限。
docker部署
docker-compose文件
version: '3.1'
services:
mongo:
image: mongo:6.0.4
container_name: mongo
restart: always
networks:
- mongo
ports:
- 27017:27017
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: 111111
wiredTigerCacheSizeGB: 2
command:
- --config
- /etc/mongod.conf
volumes:
- "./data:/data/db"
- "./mongod.conf:/etc/mongod.conf"
- "/usr/share/zoneinfo/Asia/Shanghai:/etc/localtime"
mongo-express:
image: mongo-express
container_name: mongo-express
restart: always
networks:
- mongo
ports:
- 8081:8081
environment:
ME_CONFIG_MONGODB_ADMINUSERNAME: root
ME_CONFIG_MONGODB_ADMINPASSWORD: 111111
ME_CONFIG_MONGODB_SERVER: mongo
#ME_CONFIG_MONGODB_URL: mongodb://root:111111@mongo:27017/
networks:
mongo:
对应的配置文件
systemLog:
destination: file
path: "/var/log/mongodb/mongod.log"
logAppend: true
storage:
dbPath: "/data/db"
net:
bindIpAll: true
security:
authorization: "enabled"
标签:mongod,mongo,部署,Mongodb,db,data,--,mongodb,安装
From: https://www.cnblogs.com/guangdelw/p/17077683.html