欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MongoDB 安装笔记

程序员文章站 2022-04-14 12:57:48
一、MongoDB的安装 1.在MongoDB的官网下载对应的安装文件() 2.解压安装文件 3.创建配置文件(用来启动MongoDB的服务时,一些基本参数) 文件名称:mongod.cnf 4.启动服务 再启动服务之前一定要把之前的mongodb服务关掉 关闭服务 启动服务 5.测试服务是否正常 ......

一、MongoDB的安装

1.在MongoDB的官网下载对应的安装文件()

2.解压安装文件

#解压tgz文件
tar -zxvf mongodb-linux-x86_64-ubuntu1604-3.6.2.tgz
#将解压好的文件放到指定目录下
mv  mongodb-linux-x86_64-ubuntu1604-3.6.2/ /usr/local/mongodb
#配置环境变量
export PATH=<mongodb-install-directory>/bin:$PATH
#<mongodb-install-directory> 为你 MongoDB 的安装路径。
#例如:
export PATH=/usr/local/mongodb/bin:$PATH

3.创建配置文件(用来启动MongoDB的服务时,一些基本参数)
文件名称:mongod.cnf

#配置文件的内容
#数据库文件的存放位置
dbpath=/data/mongo/
#日志文件的存放位置
logpath=/data/mongo/mongo.log
#日志的写入方式,此处为追加
logappend=true
#是否后台运行,设置为true 启动 进程在后台运行的守护进程模式。默认false
fork=true

port=27017
#绑定地址。默认127.0.0.1,只能通过本地连接,此时为任意IP都可以访问
bind_ip = 0.0.0.0

4.启动服务
再启动服务之前一定要把之前的mongodb服务关掉

关闭服务

#进入admin数据库
use admin
#关闭服务
db.shutdownServer()

启动服务

#启动服务

mongod –f mongod.cnf
#如果上面的启动报错,
#错误信息The program 'mongod' is currently not installed. You can install it by typing:
apt install mongodb-server,则使用下面的方式去启动,
#原因是没有配置环境变量

./mongod -f mongod.cnf

5.测试服务是否正常

#输入mongo进入MongoDB的控制台
mongo
#然后输入db.version(),如果能显示版本号,则表示正常启动
db.version()

6.配置环境变量

7.安全管理

参考网址:https://www.cnblogs.com/shiyiwen/p/5552750.html

 Built-In Roles(内置角色):
    1. 数据库用户角色:read、readWrite;
    2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
    3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
    4. 备份恢复角色:backup、restore;
    5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
    6. 超级用户角色:root  
    // 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
    7. 内部角色:__system
Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限
1.MongoDB中的账号是在某一个库里边进行设置的,我们在哪一个库里边进行设置,就要在哪一个库里边进行验证。 
2.创建用户时,我们需要指定用户名、用户密码和用户角色,用户角色表示了该用户的权限。

例:

use admin
db.createUser({user:"root",pwd:"123",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})

用户创建成功之后,需要关闭当前实例,重新启动新的实例。然后进入要设置的数据库,进行授权处理

#此处的admin需要换成对应的数据库
use admin
db.auth("root","123")