安装:
1 在官网上下载Linux的安装包
2 在Linux解压
3 将解压目录mv到指定安装目录
mv mongodb-linux-x86_64-rhel70-3.6.5/ /usr/local/mongodb
4 cd到bin目录下执行以下命令,添加环境变量:
export PATH=$PATH:/usr/local/mongodb/bin/
5创建数据库存储目录
mkdir -p /data/db
MongoDB的数据存储在data目录的db目录下,但是这个目录在安装过程不会自动创建,所以你需要手动创建data目录,并在data目录中创建db目录。
以下实例中我们将data目录创建于根目录下(/)。
注意:/data/db 是 MongoDB 默认的启动的数据库路径(--dbpath)。
6 在bin目录下执行./mongod文件,则是启动mongodb的服务端服务
7 执行Mongo文件则是启动客户端服务
分别写了两个脚本,一个是start_mongodb.sh;一个是stop_mongodb.sh
打开mongod服务端服务
start_mongodb.sh
/usr/local/mongodb/bin/mongod --logpath=/usr/local/mongodb/bin/log/mongodb_run.log --logappend --port=27017 --auth --fork --maxConns=20000
启动mongod服务,并设置Log路径,端口,开启用户验证,fork是守护进程,以及最大连接数
关闭mongod服务
stop_mongodb.sh
ps -ef |grep mongod | awk '{print $2}' | xargs -I {} kill -9 {}
创建用户
mongodb创建用户需要先use db,
用户的权限是针对某个db的,即便是超级用户也需要指定,虽然它能操作所有的db...
1 > db.createUser({user:"username",pwd:"password",roles:[{role:"root",db:"admin"}]}); 2 Successfully added user: { 3 "user" : "admin", 4 "roles" : [ 5 { 6 "role" : "root", 7 "db" : "admin" 8 } 9 ] 10 }
以上是创建
用户:username,
密码:password,
角色是自带角色root,
指定db为admin库。
其他内置角色:
Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限
创建用户之后再启动mongod服务的时候就可以打开Auth认证了。
登陆:
mongo -u "username" -p "password" --authenticationDatabase "admin"
通过mongo文件执行客户端服务命令,指定验证数据库为admin,与创建用户时候一致。