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

简介: 安装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),就能对数据库和用户的权限进行管理,上面说的是数据库管理,用户管理员功能于此类似。

相关文章
|
4月前
|
人工智能 小程序 程序员
分享5款实用软件,小众,但棒!
推荐5款小众但超好用的软件:KeyShot(三维渲染)、Sublime Text(文本编辑)、3171.CN(在线AI工具箱)、VideoProc(视频处理)、Everything(文件搜索),功能强大且高效,适合办公与创作,值得收藏使用。
291 1
|
机器学习/深度学习 存储 人工智能
超级计算机是什么
【8月更文挑战第6天】超级计算机是什么
716 1
|
数据采集 JavaScript 前端开发
京东商品详情 API 接口指南(Python 篇)
本简介介绍如何使用Python抓取京东商品详情数据。首先,需搭建开发环境并安装必要的库(如requests、BeautifulSoup和lxml),了解京东反爬虫机制,确定商品ID获取方式。通过发送HTTP请求并解析HTML,可提取价格、优惠券、视频链接等信息。此方法适用于电商数据分析、竞品分析、购物助手及内容创作等场景,帮助用户做出更明智的购买决策,优化营销策略。
1049 0
|
机器学习/深度学习 人工智能
【AI 初识】什么是迁移学习,它在人工智能中有什么用?
【5月更文挑战第2天】【AI 初识】什么是迁移学习,它在人工智能中有什么用?
|
前端开发 Java 程序员
【JAVA】<GUI编程>AWT & Swing 图形化编程库
【1月更文挑战第19天】【JAVA】<GUI编程>AWT & Swing 图形化编程库
|
机器学习/深度学习 数据挖掘 智能硬件
看到麻省理工学院这个黑科技,再也不想让Siri说话了
“语音交互”一直被认为是下一代人机交流的重要方式,因此,市面上已经出现许多语音助手,例如苹果的 Siri 、微软的 Cortana 、三星的 Bixby 等等。
318 0
看到麻省理工学院这个黑科技,再也不想让Siri说话了
|
数据可视化 定位技术 SEO
云.速成美站概述
一、速成美站概述及优势 二、网站制作步骤
云.速成美站概述
|
关系型数据库 MySQL 数据库
如何启动MySQL服务
如何启动MySQL服务
1654 0
如何启动MySQL服务
|
机器学习/深度学习 监控 安全
训练营第五讲 –快速上手-全观测体验|学习笔记
快速学习训练营第五讲 –快速上手-全观测体验
训练营第五讲 –快速上手-全观测体验|学习笔记
|
机器学习/深度学习 传感器 算法
【智能优化算法-灰狼算法】基于协调探索和开发能力的改进灰狼优化算法求解单目标优化问题附matlab代码
【智能优化算法-灰狼算法】基于协调探索和开发能力的改进灰狼优化算法求解单目标优化问题附matlab代码
【智能优化算法-灰狼算法】基于协调探索和开发能力的改进灰狼优化算法求解单目标优化问题附matlab代码