测试媛的专题我爱编程

cenos mongodb安装

2018-06-21  本文已影响6人  清浅第五空间

cd /soft

centos6.5 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.2.9.tgz  (有时候很慢直接下载上传吧)

centos7 wget  https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.2.9.tgz

tar zxvf mongodb-linux-x86_64-rhel62-3.2.9.tgz

mv mongodb-linux-x86_64-rhel62-3.2.9 mongodb

rm -r  mongodb-linux-x86_64-rhel62-3.2.9.tgz

cd mongodb/

mkdir db

mkdir logs

mkdir conf

cd conf

编辑配置文件:

vi mongodb.conf

输入以下内容:

dbpath=/soft/mongodb/db

logpath=/soft/mongodb/logs/mongodb.log

pidfilepath=/soft/mongodb/mongodb.pid

bind_ip=0.0.0.0

port=27017

fork=true

shardsvr=true

auth=false

启动:

/soft/mongodb/bin/mongod -f /soft/mongodb/conf/mongodb.conf

root用户

设置开机自动启动mongodb

vi /etc/rc.d/rc.local

/soft/mongodb/bin/mongod -f /soft/mongodb/conf/mongodb.conf

进入mongodb的shell模式:

/soft/mongodb/bin/mongo

创建数据库

use test-youren;

db.test.insert({'id':1});

use dev-youren;

db.test.insert({'id':1});

show dbs;

添加账号密码,指定访问数据库youren

use admin;

db.createUser(  {  user: "root",  pwd: "gzyr123",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]  });

db.createUser(  {  user: "admin",  pwd: "admin",  roles: [ { role: "root", db: "admin" } ]  });

use test-youren;

db.createUser(  {  user: "test-youren",  pwd: "test-youren", roles: [ { role: "readWrite", db: "test-youren" } ]  });

db.createUser(  {  user: "youren_r",  pwd: "rhnn9iBPzj8PwzAD",  roles: [ { role: "read", db: "test-youren"} ]  });

use dev-youren;

db.createUser(  {  user: "dev-youren",  pwd: "dev-youren",  roles: [ { role: "readWrite", db: "dev-youren" } ]  });

db.createUser(  {  user: "youren_r",  pwd: "rhnn9iBPzj8PwzAD",  roles: [ { role: "read", db: "dev-youren" } ]  });

验证权限

use admin;

db.auth("root", "123") ;

db.auth("admin", "admin") ;

use test-youren;

db.auth("test-youren", "test-youren") ;

db.auth("youren_r", "rhnn9iBPzj8PwzAD") ;

use dev-youren;

db.auth("dev-youren", "dev-youren") ;

db.auth("youren_r", "rhnn9iBPzj8PwzAD") ;

use admin ;

db.auth("admin", "admin") ;

db.shutdownServer() ;

vi mongodb.conf

修改  auth=true

重新启动  /soft/mongodb/bin/mongod -f /soft/mongodb/conf/mongodb.conf

进入mongodb的shell模式:

/soft/mongodb/bin/mongo

重新验证权限

关闭方法

方法一

ps  -ef |grep mongodb 找到你要查找的进程号

kill -9  pid    杀掉

方法二

也可以进入到mongo数据库里面进行操作

./mongo

use  admin

db.shutdownServer();

增加管理员权限:

userAdminAnyDatabase 这个角色拥有分配角色和用户的权限,但没有查写的缺陷

root 这是超级管理员

readWrite 有读写权限

read 有读权限

1、添加一个用户 复制代码代码如下添加用户、设置密码、是否只读 :

db.addUser("name"); 

db.addUser("userName", "pwd123", true);  

2、数据库认证、安全模式 : 

db.auth("userName", "123123");  

3、显示当前所有用户 复制代码代码如下:

 show users;

4、删除用户 : 

db.dropUser("userName");

Read:允许用户读取指定数据库

readWrite:允许用户读写指定数据库

dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile

userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户

clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。

readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限

readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限

userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限

dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。

root:只在admin数据库中可用。超级账号,超级权限

Built-In Roles(内置角色):

    1. 数据库用户角色:read、readWrite;

    2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;

    3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;

    4. 备份恢复角色:backup、restore;

    5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase

    6. 超级用户角色:root 

    // 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)

    7. 内部角色:__system

上一篇下一篇

猜你喜欢

热点阅读