MongoDB——入门篇(安装、启动、关闭、MongoShell)
文章目录安装、启动和关闭环境安装配置环境变量启动服务方式一方式二:利用配置文件启动服务关闭服务方式一方式二Mongo ShellJavaScript支持Mongo Shell常用命令常用命令创建集合安全认证常用权限创建管理员账号用户认证创建应用数据库用户安装、启动和关闭环境CentOS Linux release 7.9.2009安装wget https://fastdl.mongodb.org/
文章目录
安装、启动和关闭
环境
CentOS Linux release 7.9.2009
安装
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.6.tgz
tar -zxvf mongodb-linux-x86_64-rhel70-4.4.6.tgz
配置环境变量
为了方便执行MongoDB命令,我们可以添加环境变量。
vim /etc/profile
# 环境变量
export MONGODB_HOME=/www/server/mongodb
PATH=$PATH:$MONGODB_HOME/bin
source /etc/profile # 重新加载环境变量
启动服务
方式一
–dbpath :指定数据文件存放目录
–logpath :指定日志文件,注意是指定文件不是目录
–logappend :使用追加的方式记录日志
–port:指定端口,默认为27017
–bind_ip:默认只监听localhost网卡
–fork: 后台启动
–auth: 开启认证模式
bin/mongod --port=27017 --dbpath=/data --logpath=/log --bind_ip=0.0.0.0 --fork
方式二:利用配置文件启动服务
mongod -f ./config.conf --fork
关闭服务
方式一
mongod --port=27017 --dbpath=/data --shutdown
方式二
mongo --port=27017
use admin
db.shutdownServer()
Mongo Shell
Mongo Shell是MongoDB的交互式JavaScript Shell界面,它为系统管理员提供了强大的界面,并为开发人员提供了直接测试数据库查询和操作的方法。
–port:指定端口,默认为27017
–host:连接的主机地址,默认127.0.0.1
mongo --port=27017
[root@VM-24-2-centos ~]# mongo --port=27017
MongoDB shell version v4.4.6
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("9ef298d6-6914-4e1d-8038-b063f8e42d2b") }
MongoDB server version: 4.4.6
>
JavaScript支持
Mongo Shell是基于JavaScript语法的,MongoDB使用了SpiderMonkey作为其内部的JavaScript解释器引擎,这是由Mozilla官方提供的JavaScript内核解释器,该解释器也被同样应用于Firefox浏览器。
SpiderMonkey对ECMA Script标准兼容性非常好,可以支持ECMA Script 6。可以通过下面的命令检查JavaScript解释器的版本。
> interpreterVersion()
MozJS-60
Mongo Shell常用命令
常用命令
命令 | 说明 |
---|---|
show dbs / show databases | 显示数据库列表 |
show users | 显示当前数据库的用户列表 |
show roles | 显示当前数据库的角色列表 |
show profiles | 显示最近发生的操作 |
use db_name | 切换数据库,不存在则新建数据库 |
db.dropDatabase() | 删除数据库 |
show collections / show tables | 显示当前数据库的集合列表 |
db.collection_name.stats() | 查看集合详情 |
db.collection_name.drop() | 删除集合 |
load(“js_name.js”) | 执行js脚本 |
help() | 查看MongoDB支持的命令 |
db.help() | 查看当前数据库支持的方法 |
db.collection_help() | 查看集合的帮助信息 |
db.version() | 查看数据库版本 |
exit / quit() | 退出当前Mongo Shell |
创建集合
db.createCollection(name, options)
options参数:
字段 | 类型 | 描述 | 是否必填 |
---|---|---|---|
capped | boolean | 为true则创建固定集合,且必须指定size参数大小;当达到最大值时会自动覆盖最早的文档 | N |
autoIndexID | boolean | 为true则自动在_id字段创建索引,默认为false | N |
size | num | 为固定集合指定最大值,以千字节计 | N |
max | num | 指定固定集合中包含文档的最大数量 | N |
注意: 当集合不存在时,向集合中插入文档也会创建集合;
安全认证
常用权限
权限 | 描述 |
---|---|
root | 只在admin数据库中可用,超级账号,超级权限 |
readAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的读权限 |
readWriteAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的读写权限 |
userAdminAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的userAdmin权限 |
dbAdminAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限 |
clusterAdmin | 只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限 |
userAdmin | 允许用户向system.users集合写入,可以在指定数据库里创建、删除和管理用户 |
read | 允许用户读取指定数据库 |
readWrite | 允许用户读写指定数据库 |
dbAdmin | 允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile |
dbOwner | 允许用户在指定数据库中执行任意操作,增、删、改、查等 |
创建管理员账号
# 设置管理员用户名密码需要切换到admin库
use admin
#创建管理员
db.createUser({user:"sonnie001",pwd:"sonnie001",roles:["root"]})
# 查看所有用户信息
show users
#删除用户
db.dropUser("sonnie001")
用户认证
> use admin
switched to db admin
> db.auth("sonnie001","sonnie001")
Error: Authentication failed.
0
> db.auth("sonnie001","001")
1
创建应用数据库用户
> use appdb
switched to db appdb
> db.createUser({user:"app",pwd:"app",roles:["dbOwner"]})
Successfully added user: { "user" : "app", "roles" : [ "dbOwner" ] }
默认情况下,MongoDB不会启用鉴权,以鉴权模式启动MongoDB
mongod -f ./config.conf --auth
启用鉴权之后,连接MongoDB的相关操作都需要提供身份认证
mongo 127.0.0.1:27017 -u sonnie001 -p 001 --authenticationDatabase=admin
启用鉴权,以鉴权模式启动MongoDB
mongod -f ./config.conf --auth
启用鉴权之后,连接MongoDB的相关操作都需要提供身份认证
mongo 127.0.0.1:27017 -u sonnie001 -p 001 --authenticationDatabase=admin
更多推荐
所有评论(0)