1.点击进入 MongoDB官网
MongoDB官方源码包含4部分
mongodb-org-server:服务端
mongodb-org-mongos:守护进程
mongodb-org-shell:命令行
mongodb-org-tools:其他工具
2.本人使用wget 下载
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.22.tgz
3.解压
tar -zxf mongodb-linux-x86_64-3.2.22 -C /home/soft/
mv mongodb-linux-x86_64-3.2.22 mongodb
4.在当前路径【/home/soft/mongodb】下创建文件夹
mkdir -p ./data/db
mkdir ./logs
5、进入/usr/local/mongodb/bin 目录下,创建配置文件
vi mongodb.conf
#数据文件存放目录
dbpath =/home/soft/mongodb/data/db
#日志文件存放目录
logpath =/home/soft/mongodb/logs/mongodb.log port = 27017
#端口
port = 27017
#以守护程序的方式启用,即在后台运行
fork = true
nohttpinterface = true
#建议练习条件下为false 认证字段
auth=true
bind_ip=0.0.0.0
其他配置文件参考:
在mongodb.conf 中添加以下内容
port=27017 #端口
dbpath= /usr/mongodb/mongodb-4.0.10/db #数据库存文件存放目录
logpath= /usr/mongodb/mongodb-4.0.10/log/mongodb.log #日志文件存放路径
logappend=true #使用追加的方式写日志
fork=true #以守护进程的方式运行,创建服务器进程
maxConns=100 #最大同时连接数
noauth=true #不启用验证
journal=true #每次写入会记录一条操作日志(通过journal可以重新构造出写入的数据)。
#即使宕机,启动时wiredtiger会先将数据恢复到最近一次的checkpoint点,然后重放后续的journal日志来恢复。
storageEngine=wiredTiger #存储引擎,有mmapv1、wiretiger、mongorocks
bind_ip = 0.0.0.0 #设置成全部ip可以访问,这样就可以在windows中去连虚拟机的MongoDB,也可以设置成某个网段或者某个ip1234567891011
6、进行环境变量配置, 打开配置文件 /etc/profile
vi /etc/profile
在后面添加一条语句
添加这条语句:export PATH=
/home/soft/mongodb/bin:$PATH
7、配置文件生效
source /etc/profile
8.启动mongo
配置⽂件示例
vim mongo.conf
-------------
dbpath=/home/soft/mongodb/data/mongo/
port=27017
bind_ip=0.0.0.0
fork=false
logpath = /home/soft/mongodb/data/mongo/mongodb.log
logappend = true
auth=false
指定配置文件启动
./mongod -f ../mongo.conf
mongod --config /home/soft/mongodb/mongodb.conf
新增用户和数据库
mongo shell
MongoDB shell version: 3.2.22
connecting to: shell
> use admin
switched to db admin
> db.createUser({user:"admin",pwd:"123456",roles:[{role:"root", db:"admin"}]})
Successfully added user: {
"user" : "admin",
"roles" : [
{
"role" : "root",
"db" : "admin"
}
]
}
> db.auth("admin","123456")
1
> use testdb
switched to db testdb
> db.createUser({user:"testdb",pwd:"testdb",roles:[{"role":"dbOwner","db":"testdb"}]})
Successfully added user: {
"user" : "testdb",
"roles" : [
{
"role" : "readWrite",
"db" : "testdb"
}
]
}
>
roles 详解如下:
数据库用户角色(Database User Roles)
- read : 授权User只读数据的权限,允许用户读取指定的数据库
- readWrite 授权User读/写数据的权限,允许用户读/写指定的数据库
数据库管理角色(Database Admininstration Roles)
- dbAdmin:在当前的数据库中执行管理操作,如索引的创建、删除、统计、查看等
- dbOwner:在当前的数据库中执行任意操作,增、删、改、查等
- userAdmin :在当前的数据库中管理User,创建、删除和管理用户。
备份和还原角色(Backup and Restoration Roles)
- backup
- restore
跨库角色(All-Database Roles)
- readAnyDatabase:授权在所有的数据库上读取数据的权限,只在admin 中可用
- readWriteAnyDatabase:授权在所有的数据库上读写数据的权限,只在admin 中可用
- userAdminAnyDatabase:授权在所有的数据库上管理User的权限,只在admin中可用
- dbAdminAnyDatabase: 授权管理所有数据库的权限,只在admin 中可用
集群管理角色(Cluster Administration Roles)
- clusterAdmin:授权管理集群的最高权限,只在admin中可用
- clusterManager:授权管理和监控集群的权限
- clusterMonoitor:授权监控集群的权限,对监控工具具有readonly的权限
- hostManager:管理server
超级角色(super master Roles)
- root :超级账户和权限,只在admin中可用le
关闭服务
先通过shell连上服务器:
mongo
use admin
db.shutdownServer()
或者直接kill -15 <pid>,注意kill -9 可能会导致数据文件损坏
(adsbygoogle = window.adsbygoogle || []).push({});