mongodb安装配置以及其他基础操作

最近公司有个项目要用mongodb,之前没搞过,今天临时磨刀上阵,花了半天时间研究,中间有遇到几个坑写出来分享给大家。

tar -zxf mongodb-linux-x86_64-v3.6.3.tgz

cp -pr mongodb-linux-x86_64-v3.6.3 /usr/local/mongodb

mkdir -p /data/mongodb/logs

touch /data/mongodb/logs/mongodb.log

vi /data/mongodb/bin/mongodb.conf

dbpath=/data/mongodb/data

logpath=/data/mongodb/logs/mongodb.log

port=27017

fork=true

auth=true

logappend=true

nojournal=true

nohttpinterface=true

/usr/local/mongodb/bin/mongod --bind_ip 172.31.31.63 -f /usr/local/mongodb/conf/mongodb.conf

echo "export PATH=/usr/local/mongodb/bin:$PATH" >> /etc/profile

source /etc/profile

连接到mongodb:

mongo 172.31.31.63:27017

show dbs         //查看数据库

use admin        //切换到admin库,若admin库不存在则会创建admin

show users        //查看用户

db.createUser({user:"admin",pwd:"123456",roles:["root"]});    //创建超级管理员用户

db.createUser({user:"USRADM",pwd:"123456",roles:[ "userAdminAnyDatabase"]});  //创建用户管理员账户

db.changeUserPassword('admin','147258');//修改密码

db.dropUser('admin')    //删除用户

db.auth("admin","147258");    //admin登录认证

db.auth("USRADM","123456");     //USRADM登录认证

#############################################################################################

内建角色

1、数据库用户角色

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

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

2、数据库管理员角色

dbAdmin:允许用户进行索引创建、删除,查看统计或访问system.profile,但没有角色和用户管理的权限

userAdmin:提供了在当前数据库中创建和修改角色和用户的能力

dbOwner: 提供对数据库执行任何管理操作的能力。这个角色组合了readWrite、dbAdmin和userAdmin角色授予的特权

3、集群管理角色

clusterAdmin : 提供最强大的集群管理访问。组合clusterManager、clusterMonitor和hostManager角色的能力。还提供了dropDatabase操作

clusterManager : 在集群上提供管理和监视操作。可以访问配置和本地数据库,这些数据库分别用于分片和复制

clusterMonitor : 提供对监控工具的只读访问,例如MongoDB云管理器和Ops管理器监控代理

hostManager : 提供监视和管理服务器的能力。

4、备份恢复角色

backup : 提供备份数据所需的能力,使用MongoDB云管理器备份代理、Ops管理器备份代理或使用mongodump

restore : 提供使用mongorestore恢复数据所需的能力

5、所有数据库角色

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

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

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

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

6、超级用户角色

root:提供对readWriteAnyDatabase、dbAdminAnyDatabase、userAdminAnyDatabase、clusterAdmin、restore和backup的所有资源的访问

7、内部角色

__system : 提供对数据库中任何对象的任何操作的特权

#############################################################################################

//创建用户BackupUser,并赋予备份恢复角色

db.createUser({user: "BackupUser",pwd: "123456",roles: [

{ role: 'backup', db: 'admin' },

{ role: 'restore', db: 'admin' }

]});

use students    //创建数据库

db.createUser({user: "user1",pwd: "user123456",roles: [ { role: "readWrite", db: "students" } ]});  //创建students库读写权限用户

db.auth("user1","user123456");

db.clas.insert({"name":"wang"});    //向clas集合(表)插入3条数据

db.clas.insert({"name":"zhang"});

db.clas.insert({"name":"li"});

db.clas.remove({});    //删除clas集合里面所有数据记录

db.clas.find();            //查询clas集合里面所有数据记录

db.clas.drop();           //删除clas集合(表)

show collections;      //查看集合(表)

db.dropDatabase();  //删除数据库

导出students库的数据:

mongodump -h 172.31.31.63:27017 --authenticationDatabase admin -d students -u BackupUser -p -o /root/test/

-h 主机IP:端口

-d  要备份的库

-u  具有backup角色的用户

-p  备份用户的密码

-o  备份目录路径

--authenticationDatabase 备份用户BackupUser所属的数据库

导入students库的数据:

mongorestore -h 172.31.31.63:27017 --authenticationDatabase admin -d students -u BackupUser -p --directoryperdb /root/test/students

-h  主机IP:端口

-d  恢复的目标库

-u  具有restore角色的用户

-p  恢复用户的密码

--directoryperdb  恢复目录路径

--authenticationDatabase 恢复用户BackupUser所属的数据库

需要注意的坑:

1.认证问题,比如上面我有一个admin用户,只有use admin切换到admin库下面才能认证成功。

2.比如我上面已经创建了一个USRADM用户并赋予了相应的角色,当前这个角色它具有赋予用户所有数据库的userAdmin权限。现在我想为students库创建一个用户且分配置userAdmin角色。此时若我在admin库下面执行则会失败,必须切换到students库下面操作才能成功。

3.备份恢复角色的用户只能在admin库下创建,创建完后可以执行备份恢复其他所有库。

!!!切记执行任何库的操作时都必须先切换到对应的库下面

原文地址:http://blog.51cto.com/gyj110/2087501

时间: 2024-10-09 00:04:20

mongodb安装配置以及其他基础操作的相关文章

MongoDB安装配置

一.什么是MongoDB? MongoDB是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统,属于NoSQL 在高负载的情况下,可以添加更多的节点,来保证服务器性能 MongoDB旨在为WEB应用提供可扩展的高性能数据 存储解决方案,不能完全取代MySQL. MongoDB将数据存储为一个文档,数据结构由键值(Key=>value)对组成.MongoDB文档类似于JSON对象.字段值可以包含其他文档,数组及文档数组. 二.和关系型数据库比较 SQL术语/概念 MongoDB术语/概念

MongoDB 安装配置

1. 下载:http://www.mongodb.org/downloads 2. 解压,并放到你希望 MongoDB 安装的目录下,我们这里假设是 /mongodb 目录(win 也可以用 msi 文件安装) 3. 新建以下目录和文件(/mongodb 为 MongoDB 安装的根目录) 目录:/mongodb/data/db 文件:/mongodb/logs/mongo.log 文件:/mongodb/mongo.config 4. 配置 mongo.config 文件(以下为 win 下的

MongoDB 安装配置 [一]

安装说明系统环境:Centos-5.5安装软件:mongodb-linux-x86_64-2.6.3.tgz下载地址:http://www.mongodb.org/downloads安装机器:192.168.3.206上传位置:/root/soft软件安装位置:/usr/local/mongodb数据存放位置:/data/mongodb/日志存放位置:/data/logs/mongodb/安装groupadd mongodbuseradd mongodb -g mongodbcd /root/s

windows平台mongoDB安装配置

一.首先安装mongodb 1.官网下载mongoDB:http://www.mongodb.org/downloads,选择windows平台.安装时,一路next就可以了.我安装在了F:\mongoDB目录下. 2.建立工作目录: 在mongoDB目录下新建数据存放目录:F:\mongoDB\data\db 在mongoDB目录下新建日志文件:F:\mongoDB\log\mongodb.log 3.运行cmd.exe(以管理员身份打开),进入到F:\mongoDB\bin目录下,执行以下命

Linux入门总结——虚拟机安装配置以及vim简单操作

安装配置ubuntu 安装准备 vittualbox-5.2.22版本(win10) ubuntu-12.04 安装VirtualBox 1.双击VirtualBox-5.2.2-119230-Win,默认安装. 2.新建->名称ubuntu(可自定) 类型:linux 版本:ubuntu64/ubuntu32都可以 3.设置虚拟内存大小:至少1G(1024M) 4.现在创建虚拟硬盘:VDI格式->固定大小->10G->文件位置(选一个足够大的空间) 挂载镜像 设置->存储-

mongodb安装配置及副本集的操作

一.Mongdb3.0安装 官网下载最新稳定版本的mongodb软体 https://www.mongodb.org/downloads 解压软体 [[email protected] service]# tar zxvf mongodb-linux-x86_64-rhel62-3.0.3.tgz  mongodb-linux-x86_64-rhel62-3.0.3/README mongodb-linux-x86_64-rhel62-3.0.3/THIRD-PARTY-NOTICES mong

win7下MongoDB安装配置

之前看windows下安装MongoDB操作很是简单,今天在自己笔记本上安装一次,各种小问题.参照网上各大神帖子,再记录下个简单流程以便以后记得. 1.MongoDB官网上下载安装包 2.运行安装包,选择"Custom"自定义 安装路径修改下:D:\software\MongoDB,中间install MongoDB Compass一定不要勾选,安装时基本会卡主不动,可以安装后再自行官网下载compass然后不断"下一步",安装至结束. 3.创建数据库文件的存放位置

【数据库】Mean web开发 02-Windows下Mongodb安装配置及常用客户端管理工具

简介 Mean是JavaScript的全栈开发框架.更多介绍 用MongoDB实现持久数据的存储是Mean Web全栈开发中的一部分. MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.它的特点是高性能.易部署.易使用,存储数据非常方便. MongoDB的学习资料可参考: MongoDB中文社区 MongoDB 下载及安装 下载地址:https://www.mongodb.com/download-center#community 根据你

windows下php mongodb 安装配置使用查询

这几天参加了一个创意马拉松大赛,虽然没拿什么奖,重在参与嘛 终于有机会实践mongodb数据库了,以前只是自己配置装着玩玩 作者:风来了.呆狐狸 环境:window10 64 +php5.5.x+mysql5.7.x+mongodb2.6.x mongod安装 1.下载 http://www.mongodb.org/downloads 我这边下载的是64-bit msi 2.安装 默认就可以 默认安装目录 C:\Program Files\MongoDB 2.6 Standard\bin 3.配