一、下载安装包
下载社区版地址:https://www.mongodb.com/try/download/community
二、解压安装
1、解压
tar -zxvf mongodb-linux-x86_64-rhel70-4.4.14-rc0.tgz
2、mongo 目录下创建文件夹
mkdir data log conf
3、进入 bin 目录启动 mongo
启动相关参数
--dbpath 指定数据文件存放目录
--logpath 指定日志文件,注意是指定文件不是目录
--logappend 使用追加的方式记录日志
--port 指定端口,默认为27017
--bind_ip 默认只监听localhost网卡
--fork 后台启动
--auth 开启认证模式
启动 mongo 服务
./mongod --port=27017 --dbpath=/usr/local/mongo/data --logpath=/usr/local/mongo/log/mongodb.log --fork
至此服务已经启动,bin 目录下执行 mongo 进入数据库。
三、添加环境变量
1、打开 /etc/profile 文件,末尾追加一行:
export PATH=$PATH:/usr/local/mongo/bin
2、重新加载环境变量
source /etc/profile
四、指定配置文件方式启动
1、/usr/local/mongo/conf 下新建配置文件 mongo.conf
systemLog:
destination: file
path: /usr/local/mongo/log/mongod.log # log path
logAppend: true
storage:
dbPath: /usr/local/mongo/data # data directory
engine: wiredTiger #存储引擎
journal: #是否启用journal日志
enabled: true
net:
bindIp: 0.0.0.0
port: 27017 # port
processManagement:
fork: true
2、启动服务
mongod -f /usr/local/mongo/conf/mongo.conf
五、服务关闭
1、方法一
mongod --port=27017 --dbpath=/usr/local/mongo/data --shutdown
2、方法二
进入mongo shell 依次执行
use admin
db.shutdownServer()
六、Mongo shell 使用
是MongoDB的交互式JavaScript Shell界面,基于JavaScript语法的,MongoDB使用了SpiderMonkey作为其内部的JavaScript解释器引擎,这是由Mozilla官方提供的JavaScript内核解释器,该解释器也被同样用于大名鼎鼎的Firefox浏览器产品之中。SpiderMonkey对ECMA Script标准兼容性非常好,可以支持ECMA Script 6。可以通过下面的命令检查JavaScript解释器的版本:
interpreterVersion()
登录
--port 指定端口,默认为27017
--host 连接的主机地址,默认127.0.0.1
mongo shell 常用命令
命令 | 说明 |
---|---|
show dbs / show databases | 显示数据库列表 |
use 数据库名 | 切换数据库,如果不存在创建数据库 |
db.dropDatabase() | 删除数据库 |
show collections / show tables | 显示当前数据库的集合列表 |
db.集合名.stats() | 查看集合详情 |
db.集合名.drop() | 删除集合 |
show users | 显示当前数据库的用户列表 |
show roles | 显示当前数据库的角色列表 |
show profile | 显示最近发生的操作 |
load(“xxx.js”) | 执行一个JavaScript脚本文件 |
exit / quit() | 退出当前shell |
help | 查看mongodb支持哪些命令 |
db.help() | 查询当前数据库支持的方法 |
db.集合名.help() | 显示集合的帮助信息 |
db.version() | 查看数据库版本 |
db.createCollection(集合名) | 创建集合 |
# 创建集合
db.createCollection(name, options)
# options 参数
capped 布尔 (可选)如果为true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。
size 数值(可选)为固定集合指定一个最大值(以字节计)。如果 capped 为 true,也需要指定该字段。
max 数值(可选)指定固定集合中包含文档的最大数量。
七、安全认证
常用权限
权限名 | 描述 |
---|---|
read | 允许用户读取指定数据库 |
readWrite | 允许用户读写指定数据库 |
dbAdmin | 允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile |
dbOwner | 允许用户在指定数据库中执行任意操作,增、删、改、查等 |
userAdmin | 允许用户向system.users集合写入,可以在指定数据库里创建、删除和管理用户 |
clusterAdmin | 只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限 |
readAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的读权限 |
readWriteAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的读写权限 |
userAdminAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的userAdmin权限 |
dbAdminAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限 |
root | 只在admin数据库中可用。超级账号,超级权限 |
# 设置管理员用户名密码需要切换到admin库 ,创建应用数据库用户切换到对应的库。
use order
# 创建应用数据库用户
db.createUser({user:"tom",pwd:"tom",roles:["dbOwner"]})
# 用户认证,返回1则创建成功
db.auth("tom", "tom")
# 查看所有用户信息
show users
# 默认情况下,MongoDB不会启用鉴权,以鉴权模式启动MongoDB,停止服务然后重新启动
mongod -f /usr/local/mongo/conf/mongo.conf --auth
# 启用鉴权之后,连接MongoDB的相关操作都需要提供身份认证。
mongo -u tom -p tom --authenticationDatabase=admin
#登录进去查看数据库,发现只有 order 数据库
show dbs
#删除用户
db.dropUser("fox")
文章仅供学习交流,侵权联系删除。