实战 | MongoDB的安装配置

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介: 配置文件如果内容不正确会导致mongodb服务起不起来,mongodb的配置文件要求k:v这种形式的:后面必须接空格并且文件中不能有tab缩进,必须是空格缩进。

安装


  1. 下载MongoDB社区版
    https://www.mongodb.com/try/download/community


1.png


  1. 上传至指定目录,如:/app/soft


  1. 解压文件
    tar -zxvf mongodb-linux-x86_64-rhel62-4.4.4.tgz


  1. 修改名字
    mv mongodb-linux-x86_64-rhel62-4.4.4 MongoDB


  1. 在MongoDB目录下创建数据目录及日志目录


[root@oadevsoft]#cdMongoDB/[root@oadevMongoDB]#mkdir-p ./data/db[root@oadevMongoDB]#mkdir ./log


2.png


  1. 在安装目录创建MongoDB配置文件 vi mongodb.conf,内容如下:


systemLog:
#MongoDB发送所有日志输出的目标指定为文件destination: filepath: "/app/soft/MongoDB/log/mongodb.log"logAppend: truestorage:
#mongod实例存储其数据的目录dbPath: "/app/soft/MongoDB/data/db"journal:
#启用或禁用持久性日志以确保数据文件保持有效和可恢复。enabled: trueprocessManagement: 
#启用在后台运行mongos或mongod进程的守护进程模式。fork: truenet:
#服务实例绑定的IP,默认是localhostbindIp: 0.0.0.0port: 27017


配置文件如果内容不正确会导致mongodb服务起不起来,mongodb的配置文件要求k:v这种形式的:后面必须接空格并且文件中不能有tab缩进,必须是空格缩进


  1. 启动MongoDB 进入bin目录,执行以下命令
    ./mongod -f /app/soft/MongoDB/mongodb.conf


3.png


  1. 查看启动结果
    使用命令 ps aux | grep mongod 验证是否正常启动


4.png


或者在bin目录下执行 ./mongo进入命令行界面


5.png


  1. 将mongdb添加进环境变量
    使用命令编辑配置文件 vim /etc/profile,在最后加入MongoDB的配置export PATH=$PATH:/app/soft/MongoDB/bin


6.png
这样在任何地方都可以通过mongo指令进入命令行界面了。


安全配置


通过上面的安装MongoDB目前还处于裸奔状态,我们必须给其配置上用户密码认证登录。首先我们给MongoDB配置一个超级管理员,操作步骤如下:


配置超级管理员


  1. 创建管理员账号 在任意目录中输入mongo进入命令行界面(之前已经添加过环境变量)


>useadminswitchedtodbadmin>db.createUser({user:"root",pwd:"xxxxxx",roles:[{role:"root",db:"admin"}]})


用户添加成功会出现:Successfully added user和添加的用户信息。


user : "用户名",


pwd : "密码”,


roles:指定用户的角色,可以用一个空数组给新用户设定空角色;在roles字段,可以指定内置角色和用户定义的角色。


注意一点,帐号是跟着库走的,所以在指定库里授权,必须也在指定库里验证(auth)。


2. 开启权限认证

退出mongodb命令行并修改配置文件mongodb.conf,在最后开启权限认证


security:
authorization: enabled


  1. 重启MongoDB,使权限认证生效


  1. 重新进入mongo命令行,此时可以正常进入,但是不能执行mongo命令,如执行show dbs没有任何信息


7.png


 3.使用账号密码登录


>useadminswitchedtodbadmin>db.auth("root","xxxxxx")


或直接使用下面命令登录


mongoadmin-uroot-pxxxxxx


添加数据库用户


我们除了需要设置数据库的超级管理员以外,还可以给每个数据库设置单独的管理员。其只有操作单独数据的一定权限。


>useaccesslogswitchedtodbaccesslog>db.createUser({
user: 'accesslog',  //用户名pwd: 'xxxxxx',  //密码roles:[{
role: 'readWrite', //角色db: 'accesslog'//数据库   }]
 })


权限相关命令


showusers// 查看当前库下的用户db.dropUser('accesslog')  // 删除用户db.updateUser('admin', {pwd: 'xxxxxx'})  // 修改用户密码db.auth('admin', 'xxxxxx')  // 密码认证


MongoDB 数据库默认角色


  1. 数据库用户角色:read、readWrite


  1. 数据库管理角色:dbAdmin、dbOwner、userAdmin


  1. 集群管理角色(admin):clusterAdmin、clusterManager、clusterMonitor、hostManager


  1. 备份恢复角色(admin):backup、restore


  1. 所有数据库角色(admin): readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、 dbAdminAnyDatabase


  1. 超级用户角色(admin):root


客户端连接


这里我们使用 Navicat Premium 15 作为MongoDB客户端工具,当然也可以使用其他的。


8.png

 

在验证模式中选择Password选项后出现用户名密码输入框。


连接上后由于没有集合数据,所以此时看不到集合内容,这里我们先新建一个查询并通过如下语句创建一条记录


useaccesslog;
db.gatelog.insert({
title: 'Hello,MongoDB',   
by: 'JAVA日知录',
url: 'http://www.javadaily.cn',
webchat: 'jianzh5'});


9.png


执行完成后就能看到数据了。


10.png


以上,希望对你有所帮助!

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
10月前
|
存储 JSON NoSQL
一.MongoDB入门-MongDB介绍和安装
MongoDB入门-MongDB介绍和安装
|
10月前
|
NoSQL MongoDB 数据库
Mongodb的安装部署
Mongodb的安装部署
217 0
|
21天前
|
存储 分布式计算 NoSQL
MongoDB的简介和安装(在服务器上)
MongoDB的简介和安装(在服务器上)
30 0
|
10月前
|
存储 JSON NoSQL
MongoDB入门-MongDB介绍和安装
MongoDB是一个基于分布式文件存储 [1] 的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
526 1
|
11月前
|
NoSQL 安全 MongoDB
实战 | MongoDB的安装配置
实战 | MongoDB的安装配置
137 0
|
NoSQL 数据可视化 Linux
MongoDB学习笔记(一) 安装配置
MongoDB学习笔记(一) 安装配置
901 0
|
NoSQL 网络安全 MongoDB
安装并配置 MongoDB|学习笔记
快速学习安装并配置 MongoDB
215 0
安装并配置 MongoDB|学习笔记
|
监控 NoSQL 数据可视化
『MongoDB』快速安装MongoDB运行环境
📣读完这篇文章里你能收获到 - MongoDB在Linux-Docker下的安装 - MongoDB在Linux原生环境的安装 - MongoDB在Windows环境的安装 - MongoDB可视化工具 MongoCompass工具的安装
421 1
『MongoDB』快速安装MongoDB运行环境
|
存储 JSON 分布式计算
MongoDB完整教程
什么是MongoDB ? MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。 在高负载的情况下,添加更多的节点,可以保证服务器性能。 MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。 主要特点 MongoDB的提供了一个面向文档存储,操作起来比较简单和容易。
397 0
|
存储 NoSQL 数据库
MongoDB简易教程
传统数据库中,我们要操作数据库数据都要书写大量的sql语句,而且在进行无规则数据的存储时,传统关系型数据库建表时对不同字段的处理也显得有些乏力,mongo应运而生,而且ajax技术的广泛应用,json格式的广泛接受,也使得mongo更贴近开发人员。
1320 0