ubuntu16.04 下Mongo数据库搭建
一 数据库安装
1.下载自己需要的数据库版本和系统,下载地址:https://www.mongodb.com/download-center/community 。
本文下载的为ubuntu 16.04 4.0的数据库。包名mongodb-linux-x86_64-ubuntu1604-4.0.1.tgz
2.解压
tar -zxvf ./mongodb-linux-x86_64-ubuntu1604-4.0.1.tgz
解压后 会出现一个 mongodb-linux-x86_64-ubuntu1604-4.0.1 的文件夹,此文件夹内有mongo的可执行程序等。可以重命名也可以用此文件夹名。
3.将文件夹移到想要的位置 没有则创建
mv -r ./mongodb-linux-x86_64-ubuntu1604-4.0.1 /usr/local/mongodb
4.bin目录下为可执行文件
5.创建用于存放数据和日志文件的文件夹,并修改其权限增加读写权限 目录可以db路径可以自己定义,可以选择空间大的区。此处在当前路径的data下
cd /usr/local/mongodb
sudo mkdir -p data/db
sudo chmod -r 777 data/db
sudo mkdir logs
cd logs
touch mongodb.log
6. 创建配置文件到/etc 下
sudo vim /etc/mongodb.conf
在里边添加如下内容:
#数据文件
dbpath=/usr/local/mongodb/data/db
## 日志文件
logpath=/usr/local/mongodb/log/mongodb.log
## 错误日志采用追加模式,配置这个选项后mongodb的日志会追加到现有的日志文件,而不
是从新创建一个新文件
logappend=true
## 启用日志文件,默认启用
journal=true
## 这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet=true
## 端口号 默认为27017
port=27017
##
bind_ip=0.0.0.0
# 是否用密码
auth=false
wq 保存退出即可
7.添加开机自启动
sudo vim /etc/rc.local
添加一行: /usr/local/mongodb/bin/mongod --config /etc/mongodb.conf --wiredTigerCacheSizeGB 4 &
保存退出即可
二 数据库添加用户名密码
cd /usr/local/mongodb/bin
./mongo
> use admin
switched to db admin
> show dbs;
admin 0.000GB
alleyesweb 0.339GB
config 0.000GB
local 0.000GB
mydb1 0.000GB
> db.createUser({user:"root",pwd:"root123",roles:[{role:"userAdminAnyDatabase",db:"admin"},{role:"dbOwner",db:"alleyesweb"},{role:"dbAdminAnyDatabase",db:"admin"}]})
Successfully added user: {
"user" : "root",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
},
{
"role" : "dbOwner",
"db" : "alleyesweb"
},
{
"role" : "dbAdminAnyDatabase",
"db" : "admin"
}
]
}
给admin 和alleyesweb 添加了 用户名和密码分别为root 和root123的权限。
修改配置文件
# 是否用密码
auth=true
重启数据库生效。
内建角色
- Read:允许用户读取指定数据库
- readWrite:允许用户读写指定数据库
- dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
- userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
- clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
- readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
- readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
- userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
- dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
- root:只在admin数据库中可用。超级账号,超级权限
- 数据库用户角色(Database User Roles)
read:授予User只读数据的权限
readWrite:授予User读写数据的权限
- 数据库管理角色(Database Administration Roles):
dbAdmin:在当前dB中执行管理操作
dbOwner:在当前DB中执行任意操作
userAdmin:在当前DB中管理User
- 备份和还原角色(Backup and Restoration Roles):
backup
restore
- 跨库角色(All-Database Roles):
readAnyDatabase:授予在所有数据库上读取数据的权限
readWriteAnyDatabase:授予在所有数据库上读写数据的权限
userAdminAnyDatabase:授予在所有数据库上管理User的权限
dbAdminAnyDatabase:授予管理所有数据库的权限
- 集群管理角色(Cluster Administration Roles):
clusterAdmin:授予管理集群的最高权限
clusterManager:授予管理和监控集群的权限,A
user with this role can access the config and local databases, which are
used in sharding and replication, respectively.
clusterMonitor:授予监控集群的权限,对监控工具具有readonly的权限
hostManager:管理Server
三 改数据库访问网络,只可本机操作和可以远程操作
配置文件里
##
bind_ip=0.0.0.0 // 此代表所有ip的机器可以访问,将此句前边的加#注释掉后 只可本机访问数据库
修改后 重启数据库生效。
ubuntu16.04 下Mongo数据库搭建的更多相关文章
- ubuntu16.04下Hyperledger之搭建Fabric环境简单操作(五步启动e2e_cli)
如果你已经安装好go等工具.git及checkout相关代及下载相关镜像,您只需下面5步就能up e2e_cli~/go/src/github.com/hyperledger/fabric$ sudo ...
- Ubuntu16.04下安装数据库oracle客户端
在Ubuntu16.04下安装oracle数据库客户端,使Django项目连接到远程Oracle数据库. 1.下载oracle客户端安装包: 进入官网http://www.oracle.com/tec ...
- Ubuntu16.04下iTop4412环境搭建+Android4.0.3编译
系统:Ubuntu16.04.02(优麒麟) 安装库文件和JDK 使用cd 命令,进入解压出来的“Android_JDK” -->“jdk6”文件夹,运行脚本文件 “install-sun-ja ...
- ubuntu16.04下latex环境搭建
背景: 最近需要使用latex做一下简历~~~ 工具: sublime text3 (plugin: latextools) + texlive-full 配置: Preferences -> ...
- Ubuntu16.04下Neo4j图数据库官网安装部署步骤(图文详解)(博主推荐)
不多说,直接上干货! 说在前面的话 首先,查看下你的操作系统的版本. root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu LTS \n \l r ...
- Ubuntu16.04下沙盒数据导入到 Neo4j 数据库(图文详解)
不多说,直接上干货! 参考博客 http://blog.csdn.net/u012318074/article/details/72793914 (表示感谢) 前期博客 Neo4j沙盒实验申请过 ...
- Ubuntu16.04下,rabbimq集群搭建
rabbitmq作为企业级的消息队列,功能很齐全,既可以作为单一的部署模式,又可以做集群的部署模式 单一部署就不说了,就是在一台服务器上部署rabbitmq消息队列,可以参考我的博客:Ubuntu16 ...
- Ubuntu16.04下Mongodb(离线安装方式|非apt-get)安装部署步骤(图文详解)(博主推荐)
不多说,直接上干货! 说在前面的话 首先,查看下你的操作系统的版本. root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu LTS \n \l r ...
- Ubuntu16.04下Mongodb官网安装部署步骤(图文详解)(博主推荐)
不多说,直接上干货! 在这篇博客里,我采用了非官网的安装步骤,来进行安装.走了弯路,同时,也是不建议.因为在大数据领域和实际生产里,还是要走正规的为好. Ubuntu16.04下Mongodb(离线安 ...
随机推荐
- Java 基础:Queue
下面几个关于Java里queue的说法哪些是正确的()? 正确答案: A C A.LinkedBlockingQueue是一个可选有界队列,不允许null值 B.PriorityQueue,Linke ...
- Java SpringBoot Scheduled定时任务
package task.demo.controller; import org.springframework.beans.factory.annotation.Autowired; import ...
- python3 之metaclass
如果希望创建某一批类全部具有某种特征,则可通过 metaclass 来实现.使用 metaclass 可以在创建类时动态修改类定义. 为了使用 metaclass 动态修改类定义,程序需要先定义 me ...
- IIS7 伪静态 web.config 配置方法【详解】
IIS7 做伪静态比较的简单方便 1.程序方面 只需要设置web.config 就可以了. 2.服务器需要安装:URL Rewrite 下载地址:http://www.iis.net/download ...
- 小程序原生js获取用户权限
1.首先要有一个按钮 <view name="authorizemodal"> <view class="drawer_screen" wx: ...
- 关于Delphi中二维数组赋初始值
dctb:array[1..2,1..38] of Single=((0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ...
- TextBox光标定位到文本末尾
private void RichTextBox1_TextChanged(object sender, EventArgs e) { this.richTextBox1.Select(richTex ...
- graph embedding 之 struc2vec
在现实的网络中,构成网络的每个节点可能在网络中担任着某种角色.比如社交网络中,经常可以看见一些关注量很高的大V.两个大V在网络中的角色可能相同,因为他们都有很高的关注量:而大V与普通人(仅有几个关注) ...
- 微信小程序wx.uploadFile的两个坑
-- setImage:function(e){ var _this = this //坑1 wx.chooseImage({ count: , sizeType: ['original', 'com ...
- Android命名规范(重点讲解:包名)
Android程序开发中,使用规范的命名有益于程序的开发和后期阅读.本文主要对Android程序包名的定义做详细介绍,并附带一些简单的命名规则. 一.标识符命名方法1 .小驼峰命名法,除首单词外,其余 ...