MongDB的安装和基本操作 一(权限设置)

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介: 安装MongoDBMac: 最懒人的方法就是命令行: brew install mongodb 关于什么是brew和怎么安装可以在网上查,安装完成默认路径如下:cd/bin后就能看见mongodb常用命令: mongod 打开数据库服务器 mongo 进入mongodb shell 本地默端口是27017执行mongod时可能会有一些错误,常

安装MongoDB

Mac: 最懒人的方法就是命令行: brew install mongodb 关于什么是brew和怎么安装可以在网上查,安装完成默认路径如下:

这里写图片描述

cd/bin后就能看见mongodb常用命令:
mongod 打开数据库服务器
mongo 进入mongodb shell
本地默端口是27017

执行mongod时可能会有一些错误,常见的提示“…/data/db…”,这是数据存储文件目录,brew安装mongodb时会默认安装在根目录下,出现错误原因大多是因为当前用户没有其读写权限,此时直接:

sudo chown -R  用户名 /data/db

当然,这个存储目录是可以更改的 ,有一种mac,win通用的方式:

mongod -port XXXX -dbpath <随意的路径>/data/db

在mongod启动服务器的时候指定端口和实例安装路径。

win
win环境安装mongoldb更简单,从官网下载zip包,解压到自己任意位置创建的mongodb文件夹下,在文件夹下建/data/db目录,命令行:

cd  <路径>/mongodb/bin 
./mongod -dbpath <路径>/mongodb/data/db

基本操作

首先命令行输入mongo进入shell

这里写图片描述
此时默认链接的test数据库

show dbs – 显示当前数据库
这里写图片描述

show users – 显示当前数据库的用户
这里写图片描述

返回一个标准的js对象,其实这也是mongodb数据的存储方式,这样一个对象称之为“文档”,类似于传统数据库的一条记录。其中可以看见用户的一些属性,从字面就能猜出含义。

use admin  //如果admin数据库不存在则创建,存在则切换

权限设置

刚安装好的mongodb是没有权限设置的,可任意添加删除用户和数据库,显然不适于生产。一般情况下,需要创建两个用户,一个用户管理员,可在admin和其他数据库中创建用户,一个数据库超级管理员,拥有增删改查任意数据库、复制、集群操作的权限。

//用户管理员
use admin    //回车
db.createUser({user:"userAdmin",pwd:"123",roles:["userAdminAnyDatabse"]})  //回车
//数据库超级管理员
use admin  //回车
db.createUser({user:"dbAdmin",pwd:"123",roles:["readWriteAnyDatabase","dbAdminAnyDatabase","clusterAdmin"]})
//回车

roles属性列出的就是该用户拥有的权限,包含以下几个:

read                                                    
readAnyDatabase
readWrite
readWriteAnyDatabase      //增删改查任意数据库的集合
dbAdmin
dbAdminAnyDatabase    //读写数据库
clusterAdmin   //允许对mongodb的一般管理,连接,复制,增删
userAdmin
userAdminAnyDatabase//用户管理

分别什么意思呢,哈哈,大部分大家应该都能猜出来

这样设置以后有什么用呢,大家可以试试先退出数据库

use admin   
db.shutdownServer()

再登入:

mongod -auth

然后进入任意数据库创建一个集合(collection:就是文档集合,类似于表)

use dbtest
db.createCollection("testcollection")

则会出现下面错误:
这里写图片描述

提示没去权限,这就是因为当前不是数据库超级管理员,无法任意创建集合,此时需要切换到数据库管理员角色:

use admin 
db.auth("dbadmin","123")

会有提示:
这里写图片描述
说明切换成功,此时再按之前步骤创建集合,则创建成功
这里写图片描述

可见只要在登录时确定以权限方式登录(-auth),就能对数据库和用户的权限进行管理,上面说的是数据库管理,用户管理员功能于此类似。

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。 &nbsp; 相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
5月前
|
NoSQL 数据可视化 关系型数据库
mongoDB入门教程三:数据库的创建和删除(增删改查)基本命令
mongoDB入门教程三:数据库的创建和删除(增删改查)基本命令
130 0
|
7月前
|
JSON NoSQL MongoDB
mongodb基本操作,增删改查,查询,索引,权限机制
mongodb基本操作,增删改查,查询,索引,权限机制
|
4月前
|
Oracle 关系型数据库 MySQL
MYSQL数据库-基本操作(下)
MYSQL数据库-基本操作(下)
|
8月前
|
数据库
mongdb基础操作
mongdb基础操作
50 0
|
关系型数据库 MySQL 数据库
mysql数据库中对数据的基本操作(二)
mysql数据库中对数据的基本操作(二)
mysql数据库中对数据的基本操作(二)
|
SQL 关系型数据库 MySQL
|
SQL 存储 Oracle
数据库-Mysql使用学习笔记(命令行及图形化界面)(3)
数据库-Mysql使用学习笔记(命令行及图形化界面)(3)
114 0
数据库-Mysql使用学习笔记(命令行及图形化界面)(3)
|
SQL Oracle 关系型数据库
数据库-Mysql使用学习笔记(命令行及图形化界面)(1)
数据库-Mysql使用学习笔记(命令行及图形化界面)(1)
185 0
数据库-Mysql使用学习笔记(命令行及图形化界面)(1)
|
存储 SQL Oracle
数据库-Mysql使用学习笔记(命令行及图形化界面)(4)
数据库-Mysql使用学习笔记(命令行及图形化界面)(4)
102 0
数据库-Mysql使用学习笔记(命令行及图形化界面)(4)
|
关系型数据库 MySQL 数据库
数据库-Mysql使用学习笔记(命令行及图形化界面)(2)
数据库-Mysql使用学习笔记(命令行及图形化界面)(2)
101 0
数据库-Mysql使用学习笔记(命令行及图形化界面)(2)