Linux 安装 MongoDB
一、下载
Linux:CentOS 7.3 64位
MongoDB:3.6.4
安装目录:/usr/local
cd /usr/local
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.6.4.tgz
二、解压缩
解压缩安装包并重命名(方便管理)
tar -zxvf mongodb-linux-x86_64-rhel62-3.6..tgz
mv mongodb-linux-x86_64-rhel62-3.6. mongodb
三、配置MongoDB
需要配置三项内容,一个是数据文件夹(db,文件名可自定义),一个是日志文件夹(logs,文件名可自定义),一个是配置文件(mongo.conf)
1、数据文件夹
mkdir db
2、日志文件夹
mkdir logs
3、创建配置文件
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /usr/local/mongodb/logs/mongod.log #日志文件存放目录 # Where and how to store data.
storage:
dbPath: /usr/local/mongodb/db #数据文件存放目录
journal:
enabled: true # how the process runs
processManagement:
fork: true #以守护程序的方式启用,即在后台运行
pidFilePath: /usr/local/mongodb/mongod.pid # location of pidfile # network interfaces
net:
port: 27017 #端口
bindIp: 0.0.0.0 # Listen to local interface only, comment to listen on all interfaces.端口对外开放
4、效果图

5、启动
MongoDB 的 bin 目录下执行(注意 mongod.conf 配置的目录跟我们上面配置的目录对应):
./mongod --config /usr/local/mongodb/mongod.conf
四、添加用户
MongoDB 安装完成后默认是不用验证密码的,这在生产环境上是绝对不允许存在的,我们需要创建用户,并增加用户验证!
如果将一个用户添加到admin数据库,这个用户将自动获得所有数据库的权限,即管理员账户。如果将一个用户添加到普通的数据库,这个用户只能获得该数据库的相关权限,即普通用户。
切换至MongoDB的 bin目录下:
1、添加管理员账户
./mongo
>use admin
>db.createUser({user:"root",pwd:"password",roles:["root"]})
2、启用MongoDB 授权
在 mongod.conf 后加上:
security:
authorization: enabled #启用授权
3、重启生效
关闭MongoDB服务器:
./mongod -shutdown -dbpath=/usr/local/mongodb/db
授权后的启动MongoDB服务器:
./mongod --dbpath=/usr/local/mongodb/db --logpath=/usr/local/mongodb/logs/mongod.log --logappend --port --auth --fork
4、认证用户
./mongo
>use admin
>show dbs //会提示用户未验证
>db.auth("root","password")
>show dbs
admin .001GB
config .000GB
local .000GB
5、添加普通用户
> use lxcx //创建数据库
> db.createUser({user:"summer",pwd:"summer",roles:[{"role" : "readWrite","db" : "lxcx"}]}); //创建这个数据库的读写权限用户
user:用户名
pwd:密码
roles:指定用户的角色,可以用一个空数组给新用户设定空角色;在roles字段,可以指定内置角色和用户定义的角色。role里的角色可以选:
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数据库中可用。超级账号,超级权限
Linux 安装 MongoDB的更多相关文章
- linux 安装mongodb
Linux 安装mongodb 1.下载mongodb linux wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-amazon- ...
- Linux安装mongoDB步骤和方法
Linux安装mongoDB步骤和方法 下载mongoDB数据库 mongodb-linux-x86_64-3.0.15.tgz 存放到linux文件夹中 ftp软件直接拖上去 解压文件夹(解压后,会 ...
- linux安装mongodb并启动
CentOS6.4 安装MongoDB 1.下载MongoDB(64位) http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.9.tg ...
- linux安装mongodb(设置非root用户和开机启动)
官网地址:https://www.mongodb.com/ 在官网上选择不同的linux系统得到不同的下载地址,我们用的下载地址是:https://fastdl.mongodb.org/linux/m ...
- linux安装mongodb磁盘空间不足
Insufficient free space for journal filesPlease make at least 3379MB available in /export/servers/mo ...
- Linux 安装MongoDB 并设置防火墙,使用远程客户端访问
1. 下载 MongoDB 提供了 linux 各发行版本 64 位的安装包 下载地址:https://www.mongodb.com/download-center#community 2. 安装 ...
- Linux 安装 MongoDB数据库
1下载: wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.7.tgz (下载较慢) 2.安装: mv mongodb-li ...
- linux安装mongodb,设为全局和后台启动
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.5.tgz # 下载 tar -zxvf mongodb-linux ...
- 【Mongo】Linux安装MongoDB
呵呵哒,每天都是小惊喜. 一 下载 https://www.mongodb.org/downloads可进行下载,根据需要选择合适的版本和操作系统 二 上传服务器 1 上传服务器路径并解压 2 创建数 ...
随机推荐
- Touch Handling in Cocos2D 3.x(五)
实现新英雄的放置功能 首先我们需要一个变量来保持我们当前移动英雄的引用,因此我们将添加一个私有实例变量.修改MainScene.m中的代码. 用: @implementation MainScene ...
- Shell入门之概念
1.一切皆是文件: 在bash Shell 中一切皆是文件,不管是我们认为的文本文件,还是那些文件夹的东西,在这里都是文件,Linux只管比特和字节流,而不关心他们最终组成了什么格式,这些工作交给在L ...
- 详解EBS接口开发之物料导入API
create_item inv_item_grp.create_item(p_commit => fnd_api.g_true, -- p_item_rec => l_item_rec, ...
- ARM v7汇编与相关练习
程序入口: _startc 语言入口: main@: 注释;main: 标签;伪指令: 给汇编器读的指令;.global main ...
- Ext JS 5初探(一)
在开始前,先安装好Sencha Cmd 5.然后输入以下命令创建一个测试用的应用程序: sencha -sdk c:\ext5 generate app TestExt5 C:\TestExt5 想不 ...
- Cocos2D v2.0至v3.x简洁转换指南(一)
在该指南开头,我们假设你应经很熟悉Cocos2d 2.x版本. 我们将指出新版本重要的改变,并且给出一些你已经从Cocos2d 2.x版本中熟知的实现. CCNodes,CCScenes和CCLaye ...
- iOS实现时间线列表效果(例如订单详情页面的效果)
之前看到美团的订单详情页面很有特色,于是决定模仿一下这个效果. 其实就是简单的 TableView 技巧,下面我们就来一步一步实现它. 设计 TableViewCell 原型 子类化一个新的 UITa ...
- Linux 内核配置机制(make menuconfig、Kconfig、makefile)讲解
前面我们介绍模块编程的时候介绍了驱动进入内核有两种方式:模块和直接编译进内核,并介绍了模块的一种编译方式--在一个独立的文件夹通过makefile配合内核源码路径完成 那么如何将驱动直接编译进内核呢? ...
- Swift必备开发库(高级篇)
1.CryptoSwift swift加密库, 支持md5,sha1,sha224,sha256... github地址: https://github.com/krzyzanowskim/Crypt ...
- 二分算法C实现
#include <stdio.h> #include <stdlib.h> #define NR(x) (sizeof(x)/sizeof(x[0])) int Binary ...