一、安装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. QT-入门:创建项目时遇到工程工具集(Kit)找不到问题

    创建项目遇到了以下提示: Please add a kit in the options or via the maintenance tool of the SDK 解决方法: 在指定的工具链中设置 ...

  2. (未完成)ARM-linux 移植 SDL

    ref : https://blog.csdn.net/u012075739/article/details/24877639   2.      交叉编译SDL 编译SDL前先要编译其依赖库 tsl ...

  3. PAT-1111 Online Map (30分) 最短路+dfs

    明天就要考PAT,为了应付期末已经好久没有刷题了啊啊啊啊,今天开了一道最短路,状态不是很好 1.没有读清题目要求,或者说没有读完题目,明天一定要注意 2.vis初始化的时候从1初始化到n,应该从0开始 ...

  4. springboot mvc自动配置(目录)

    对于长时间基于spring框架做web开发的我们,springmvc几乎成为了开发普通web项目的标配.本系列文章基于快速启动的springboot,将从源码角度一点点了解springboot中mvc ...

  5. mysql limit和offset用法

    limit和offset用法 mysql里分页一般用limit来实现 1. select* from article LIMIT 1,3 2.select * from article LIMIT 3 ...

  6. 【清单】值得「等待」的12个指示加载状态的 js 库

    以下优选 GitHub 上高 star 的指示加载状态的 JavaScript 库.另外这里还有10个有意思的 JavaScript 实战小项目供大家学习. 上期入口:一份数据分析学习清单.xls M ...

  7. Python标准库3.4.3-random

    9.6. random — Generate pseudo-random numbers Source code: Lib/random.py  翻译:Z.F. This module impleme ...

  8. BZOJ 4316: 小C的独立集

    4316: 小C的独立集 思路:先将树上的转移做好.然后环上的转移就是强制最上面的的点选或者不选,然后在环上跑一遍转移就可以了. 代码: #pragma GCC optimize(2) #pragma ...

  9. linux网络编程之共享内存介绍

    今天是个好日子,洋人之节乃全球同庆,圣诞一来感觉就要过年了,不过今晚心情有点打折扣,给心爱的人打电话没有打通,本想在平安夜送上快乐的祝福给她,糟糕的心情让自己好像泄了气的皮球一样,无精打彩,心情灰暗, ...

  10. SQLSERVER视图错位的解决办法

    原始需求如下: 有一个表T1 create table t1 (id int not null primary key ,v1 ) ) ,'aaa'); ,'bbb'); 有一个表TS,用于记录T1中 ...