一、安装mongdb

1、创建安装目录

# mkdir /data/local

# mkdir /data/local/mongodbdata

2、解压安装包

# tar -xvf /software/mongodb-linux-x86_64-2.4.10.tar -C /usr/local
# cd /usr/local
# mv mongodb-linux-x86_64-2.4.10 mongdb

二、配置mongdb

1、创建配置文件

# cd /usr/local/mongodb/
# vi mongodb.conf

配置如下:

port=27017
dbpath=/data/local/mongodbdata
logpath=/data/local/mongodbdata/mongodb.log
logappend=true
fork=true

2、设置开机启动

# vim /etc/rc.local

新增内容如下:

# add for mongodb
/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/mongodb.conf

三、启动mongdb

1、运行mongdb

# cd /usr/local/mongodb/
# ./bin/mongod --config ./mongodb.conf

2、查看服务端口,确认服务启动正常

# netstat -anltp | grep mongod
tcp 0 0 0.0.0.0:28017 0.0.0.0:* LISTEN 2011/./bin/mongod
tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 2011/./bin/mongod

四、新增用户

1、启动客户端

#cd /usr/local/mongdb/bin
# ./mongo
MongoDB shell version: 3.0.6
connecting to: test
Server has startup warnings:
2019-11-27T20:47:21.338+0800 I STORAGE [initandlisten]
2019-11-27T20:47:21.338+0800 I STORAGE [initandlisten] ** WARNING: Readahead for /data/local/mongodbdata is set to 4096KB
2019-11-27T20:47:21.338+0800 I STORAGE [initandlisten] ** We suggest setting it to 256KB (512 sectors) or less
2019-11-27T20:47:21.338+0800 I STORAGE [initandlisten] ** http://dochub.mongodb.org/core/readahead
2019-11-27T20:47:21.507+0800 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2019-11-27T20:47:21.507+0800 I CONTROL [initandlisten]
2019-11-27T20:47:21.507+0800 I CONTROL [initandlisten]
2019-11-27T20:47:21.507+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2019-11-27T20:47:21.507+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2019-11-27T20:47:21.508+0800 I CONTROL [initandlisten]
2019-11-27T20:47:21.508+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2019-11-27T20:47:21.508+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2019-11-27T20:47:21.508+0800 I CONTROL [initandlisten]
>

2、新增用户

#新增admin读写权限
> use admin;
switched to db admin
> db.createUser({user:"admin",pwd:"test.1234",roles:[{role: "readWrite", db: "admin"}]})
Successfully added user: { "user" : "admin", "roles" : [ { "role" : "readWrite", "db" : "admin" } ] }
#新增超级管理员用户
>use admin;
>db.createUser({user:"admin",pwd:"test.1234",roles:[{role: "root", db: "admin"}]})
Successfully added user: { "user" : "admin", "roles" : [ { "role" : "root", "db" : "admin" } ] }

 3、删除用户

>db.system.users.remove({user:"admin"})

五、mongdb数据库角色

1、内建的角色

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

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

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

备份恢复角色:backup、restore;

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

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

内部角色:system

角色说明:

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

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

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

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

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

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

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

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

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

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

2、用户操作

1、新建管理员用户

>use admin
> db.createUser(
{
user: "adminUser",
pwd: “admin123”,
roles: [{role: ”userAdminAnyDatabase”,db:”admin”}]
}
) #结果
> Successfully added user: {
"user" : "admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}

2、创建普通用户

  >use foo
>show roles #可以查看角色
> db.createUser(
{
user: "simpleUser",
pwd: “123456”,
roles: [“readWrite”,”dbAdmin”,”userAdmin”]
}
)

3、查看已存在的用户

>db.system.users.find()

4、删除用户

>db.system.users.remove({user:”simpleUser”})

注:在操作用户时,启动mongod服务时尽量不开启授权

3、开启验证

在启动时指定--auth即需要授权才能操作

 #开启服务
> mongod --auth --dbpath /home/user1/mongodb/data --logpath /home/user1/mongodb/log/logs --fork
#客户端连接并认证
>mongo
>use foo
>db.auth(“simpleUser”,”123456”)

每次只有认证后才能操作数据

Linux 下Mongdb数据库的更多相关文章

  1. linux下mysql数据库的操作

    本文主要针对linux下mysql数据库的安装,以及数据库的创建和简单的数据库操作进行说明. ①.Mysql数据库的安装: 数据库的安装分为源码安装和rpm安装. 当然对于老手来说需要进行一些自定义的 ...

  2. Linux下链接数据库图形化工具

    (一).Linux环境下mysql的安装.SQL操作 Linux下安装MySQL (rmp --help) 基本步骤:上传软件->检查当前Linux环境是否已经安装,如发现系统自带的,先卸载-& ...

  3. linux下oracle数据库字符集修改

    linux下oracle数据库字符集修改 0.RHEL6.7.oracle11gr2 1.登录oracle.在安装oracle的用户下进入数据库. $ sqlplus / as sysdba 2.查询 ...

  4. Linux下MySQL数据库主从同步配置

    说明: 操作系统:CentOS 5.x 64位 MySQL数据库版本:mysql-5.5.35 MySQL主服务器:192.168.21.128 MySQL从服务器:192.168.21.129 准备 ...

  5. 记录--linux下mysql数据库问题

    本次主要记录一下linux下mysql数据库的一些问题,也是之前经常用到的知识,这里简单总结一些问题,方便自己以后的回顾.原来一直使用的是阿里云的RDS数据库mysql版,主要是因为上次阿里云做活动可 ...

  6. Linux下MySQL数据库的备份与恢复

    Linux下MySQL数据库的备份与恢复 作者:Grey 原文地址: Github 语雀 博客园 基于版本 MySQL5.7 Deepin Linux 15.11 xtrabackup-2.4.18 ...

  7. linux下oracle数据库的启动

    linux下oracle数据库的启动 一.切换oracle用户 命令:su - oracle 二.运行sqlplus命令,进入sqlplus环境 命令:sqlplus /nolog (nolog参数表 ...

  8. Linux 下,mysql数据库报无法登陆错误:ERROR 1045 (28000): Access denied for use

    今天在别人的服务器上登录mysql发现无法登陆(Mysql别人实现安装好的) 密码和用户名都是正确的,但登录后报如下错误: ERROR 1045 (28000): Access denied for ...

  9. Linux下Mysql数据库备份

    今天一同事的电脑无缘无故坏了,找了IT部门检测说是硬盘坏了,数据无法恢复.好悲剧.自己博客也写了好久不容易,要是突然间数据丢了那怎么办!于是写了个数据库自动备份脚本,并创建任务计划,实现每天22:30 ...

随机推荐

  1. Web Services使用SOAP Header

    在Web Services方法进行通信使用SOAP遵循标准的SOAP格式,该格式的一部分是在XML文档中编码的数据.XML文档包含一个Envelope根元素(由必需的Body元素和可选的Header元 ...

  2. jquery.marquee

    http://aamirafridi.com/jquery/jquery-marquee-plugin#examples <script src="/plugins/marquee/j ...

  3. 扩展支持全选的CheckBox列。

    扩展支持全选的CheckBox列. https://www.codeproject.com/articles/42437/toggling-the-states-of-all-checkboxes-i ...

  4. intel ipp6.0安装过程

    由于最近看到一个代码中使用了intel ipp6.0库,了解到,ipp6.0是一个很强大的图像处理库,将其与opencv联合使用,还能够加速opencv的处理,在图像处理的过程中,是一个很重要的工具. ...

  5. 数据结构之链表(LinkedList)(三)

    数据结构之链表(LinkedList)(二) 环形链表 顾名思义 环形列表是一个首尾相连的环形链表 示意图 循环链表的特点是无须增加存储量,仅对表的链接方式稍作改变,即可使得表处理更加方便灵活. 看一 ...

  6. Android studio如何连接三星手机

    打开Android studio,选择Trouble Shoot device connections: 这个菜单项会自动扫描本地已经用USB线连接的设备: 已经成功扫描出了我的Galaxy C7 P ...

  7. Story of Jerry Wang's Wechat subscription account

    As an SAP Techinical Ambassador,Jerry is always willing to share his SAP expertise to various social ...

  8. js几种数组排序及sort的实现

    给出以下数组,并进行排序处理 var arr = new Array('1','3','8','2','3','5'); 1. 插入法排序 Array.prototype.csSort = funct ...

  9. Yarn介绍(设计理念与基本架构)

    Yarn : 新的计算框架,是一个全局资源管理器,负责整个集群的资源管理和分配   一. Yarn产生背景       Hadoop1.0MR有局限性,概括为以下几个方面 :  扩展性差 可靠性差 资 ...

  10. 记一次SQL PLUS 不能登录的异常处理

    记一次SQL PLUS 不能登录的异常处理 现象 通过远程PLSQL Developer 访问数据发现卡死没响应. 通过Sqlplus 访问数据同样hang死在登录界面,且不能通过Ctrl+C取消 [ ...