由于Linux系统的速度快,安装性和稳定性都比windows系统要好。在真实的生产环境中,我们往往都把一些软件安装到Linux系统上,今天我们来介绍一下MongoDB在Linnx系统上的安装过程及用户管理。
一、下载和安装启动
1.安装包下载
https://www.mongodb.com/download-center#community
选择需要的版本进行下载。
2.解压
如果是tgz,tar,tar.gz格式的压缩文件使用 tar -zxvf 压缩包名称 来进行解压操作。
如果是zip格式的压缩文件使用 unzip 压缩包名称 进行解压操作。
3.移动和命名
我们需要把解压后的mongodb移动到指定位置并重命名。一般都会移动到/usr/local/下面
mv 安装目录 /usr/local/mongodb
4.配置环境变量
首先我们需要配置mongodb的环境变量。
vi /etc/profile 在最下面添加一行
export PATH=/usr/local/mongodb/bin:$PATH
添加后按ESC,输入:wq 保存退出
随后 source /etc/profile 刷新环境变量。
5.添加需要的文件
在mongodb根目录下添加data文件夹和logs文件夹。
mkdir data
mkdir logs
6.修改配置文件
进入mongodb的conf目录,vi mongodb.conf 写入如下内容。
dbpath=/usr/local/mongodb/data
log=/usr/local/mongodb/logs/mongodb.log
port=27017
fork=true
auth=false
五个配置含义分别是:数据存放位置,日志存放位置,端口号,是否后台启动和是否需要认证后操作。
写入后保存退出。
7.启动
进入bin目录执行 ./mongod --config ../conf/mongo.conf
出现这些提示即为启动成功。
8.开始使用
直接输mongo即可进入mongodb命令行。接下来我们就可以开始使用了。
二、用户管理
不同的库可以对应不同的用户,我们需要在那个库建立用户,需要先进入对应库的空间下。
use 库名 --这个命令就是进入对应库的空间下,如果没有这个库,会自动建立。
1.用户添加
假设我们要在testDB上建立一个可读写的用户student。
use testDB
db.createUser(
{
user: "student",
pwd: "111111",
roles: [ { role: "readWrite", db: "testDB" } ]
}
)
添加完成后通过 show users命令查看是否创建成功。
创建时的角色说明:
Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限。
集群管理角色:
clusterAdmin: 赋予管理集群的最高权限,只在admin数据库中可用
clusterManager: 赋予管理和监控集群的权限
clusterMonitor: 赋予监控集群的权限,对监控工具具有readonly的权限
hostManager: 赋予管理Server
2.删除用户
还是先进入到对应的库,然后执行下面命令即可
db.removeUser("userName");
3.修改用户
修改密码(两种方式):
db.changeUserPassword("username","newpwd");
db.updateUser("username",{pwd:"newpwd"});
修改权限:
直接用新权限替换旧权限:
db.updateUser("username",{roles:[ {role:"read",db:"tesDB"} ]})
添加删除权限:
db.grantRolesToUser("username", [{role:"readWrite", db:"testDB"},{role:"read", db:"testDB"}]) ## 修改权限
db.revokeRolesFromUser("username",[{role:"read", db:"testDB"}]) ## 删除权限:
4.查询用户:
show users;
三、一些其他常用命令:
查看所有库
show dbs
删除当前使用数据库
db.dropDatabase();
查看所有集合
show collections
用户认证
db.auth("username","pwd"); ## 需要在配置文件mongodb.conf中把auth参数改为true并重启mongodb。
关于mongodb的安装和用户使用说明就暂时整理这么多,以后再慢慢补充。