目前mongodb已经出到3.x,相对于2.x改动较大,本着学新不学旧的原则来捣鼓nosql数据库。最初想着apt-get安装但是软件源上都是2.x的,遂下载好后传到服务器安装。

1.下载

  不得不说国内的墙太厉害,连mongodb这类人畜无害的都挡了,虽然能够访问官网也能下载,但是速度从来不超过三十k,所以在某盘找到了源文件,下载地址http://pan.baidu.com/s/1nu96i1b,ubuntu64位的。

2.解压安装

  上传到服务器用tar解压

tar -xf mongodb-linux-x86_64-ubuntu1604-3.2..tgz

  移动到/opt目录下并重命名为mongodb

mv mongodb-linux-x86_64-ubuntu1604-3.2..tgz mongodb
mv mongodb /opt

3.配置

  切换到/opt/mongodb目录下,新建三个文件夹logs(存放日志),conf(存放配置文件),data/db(存放数据文件)

mkdir logs conf data
mkdir data/db

  conf目录下新建mongodb.conf文件

#日志位置
logpath=/opt/mongodb/logs/mongodb.log
#是否追加写入日志
logappend=true
#是否以守护进程启动
fork=false
#启动端口号
port=
#数据文件存放位置
dbpath=/opt/mongodb/data/db
#是否开启身份认证
#auth=true

4.启动

  把bin目录加到path中,方便操作,加入方法自行百度。

  启动命令

mongod -f /opt/mongodb/conf/mongodb.conf

  该方式为前台进程,无法做别的操作,常驻后台运行命令,由于日志信息都会写入到日志中,所以为重定向脚本输出,默认会在当前目录创建nohup.out文件

nohup mongod -f mongodb.conf &

用户管理

  注意前面的配置文件中是把auth注释掉了,因为mongodb是没有默认用户,所以先要以无验证方式启动,创建好用户后再打开认证选项。

  mongo的用户有一个原则是:用户跟库走(在哪儿库创建的用户就要在哪个库认证,不管这个用户是用来管理谁的)

1.创建用户管理员角色

  首先使用mongo命令进入交互环境,然后切换到admin库下

use admin

  然后创建admin用户(该用户有管理用户的权限(无操作权限),可在任意库中管理用户,但是先要到admin下认证(用户跟库走))

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

然后修改配置文件开启认证,重启数据库

2.针对具体库设置用户

  首先到admin库下认证admin用户

  然后切换到某个库创建这个库的管理用户

  然后在该库中认证该角色就能操作该数据库了。

更加详细的用户管理说明见http://www.cnblogs.com/shiyiwen/p/5552750.html

mongodb3 ubuntu离线安装(非apt-get)及用户管理的更多相关文章

  1. ubuntu离线安装mysql

    一:ubuntu离线安装mysql 转载来源:https://blog.csdn.net/liuhuoxingkong/article/details/80696574 参考文章:https://ww ...

  2. Ubuntu离线安装软件包

    一.应用场景 a.当我们需要在多台电脑安装同一个软件,并且这个软件很大,下载需要很长时间时 b.需要安装软件的ubuntu不能上网 二.离线安装包的制作 2.1.通过如下指令下载XXXX软件所需要的d ...

  3. Ubuntu 离线安装 docker

    1.下载离线包,网址:https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/ 离线安装docker需要下载3个 ...

  4. 运维笔记--Ubuntu离线安装jdk1.8(JDK8)Java环境

    Ubuntu离线环境安装jdk1.8 系统版本:Ubuntu16.04 其他Ubuntu版本安装类似 Jdk版本:8 1. 下载相应离线软件包 Jdk oracle官方下载地址:https://www ...

  5. Ubuntu离线安装Sogou拼音(附老版本安装&输入法自启动)

    跨平台系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#linux 离线安装的基础可以看看这篇文章的 前期准备工作 http://www.cnbl ...

  6. Ubuntu离线安装Tensorflow keras

    实验室的服务器木有连接外网,无法使用pip进行安装,真正意义上的离线安装需要很多安装依赖包,下载起来很麻烦,而且版本号还不一定对. 另一种方法是利用源代码编译安装,那样也需要安装依赖包,比较麻烦. 经 ...

  7. Ubuntu离线安装docker

    1.先安装依赖libltdl7_2.4.6-0.1_amd64.deb 下载链接http://archive.ubuntu.com/ubuntu/pool/main/libt/libtool/libl ...

  8. Ubuntu离线安装VSCode(附带前期准备工作)

    跨平台系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#linux 在说正式步骤前先把准备工作做到位: 1.IP设置,这个因为是GUI的,手动设置 ...

  9. Ubuntu 离线安装Mysql

    一.安装包 先从网络上,下载Mysql安装包,复制到U盘 下载地址:https://dev.mysql.com/downloads/mysql/ 二.挂载U盘 2.1查看分区 先输入命令  cat   ...

随机推荐

  1. javaCV图像处理之Frame、Mat和IplImage三者相互转换(使用openCV进行Mat和IplImage转换)

    前言:本篇文章依赖四个jar包,其中javacv.jar,javacpp.jar和opencv.jar为固定jar包,opencv-系统环境.jar为选配(根据自己的系统平台,x64还是x86而定) ...

  2. Git添加远程报错:remote origin already exists.

    在本地创建了一个Git仓库,如何在Github创建一个Git仓库,并且让这两个仓库进行远程同步,这样Github上的仓库既可以作为备份仓库,还可以通过该仓库进行多人协作. 1.登录github,建立一 ...

  3. Bash内置命令

    Bash有很多内置命令,因为这些命令是内置的,因此bash不需要在磁盘上为它们定位,执行速度更快. 1)列出所有内置命令列表$enable 2)关闭内置命令test$enable -n test 3) ...

  4. IPhone开发“此证书是由未知颁发机构签名”解决办法

    有一种情况是你删除了钥匙串中的系统文件,只要重新下载,并双击(会自动添加到钥匙串中)就ok了. 从浏览器中直接敲入下载地址:http://developer.apple.com/certificati ...

  5. android 下 利用webview实现浏览器功能

    android 下 利用webview实现浏览器功能(一): 1.界面添加WEBVIEW控件. 2.在界面.JAVA代码页面(protected void onCreate(Bundle savedI ...

  6. 微信小程序开发过程中一些经验总结

    1.微信开发者工具报错,微信小程序最低需支持tls1.2版本的问题 原因是服务器不支持ssl的高版本,解决方法: 在/etc/nginx/conf.d文件下,把"ssl_protocols  ...

  7. .net 4.0 中的特性总结(二):默认参数、命名参数

    1.在方法定义的时候为参数指定一个默认值.调用方法的时候既可以像平时那样传入参数,也可以直接跳过不传入,这样的话,就使用默认值传到方法里.例如: 2.在之前版本的C#中,方法定义的参数顺序必须与方法调 ...

  8. react-native 学习 ----- React Navigation

    很久没有的登陆博客园了,密码都是找回的,从当年的大学生已经正常的走上了程序员的道路,看到之前发的博客还是写的android,现在自己已经在使用了react-native了. 大学毕业了,做了java后 ...

  9. mongodb入门级的视频教程-简易客户管理系统制作

    本套教程作为mongodb入门级的视频教程,首先讲解了mongodb的下载.安装,环境变量的设置.启动mongodb和将mongodb安装成为windows服务.然后进一步讲解了mongodb里面集合 ...

  10. Linux文件管理浅析(一) _磁盘管理基础

    本文主要讨论一些磁盘管理相关的基本概念,同时也是这一系列文章的第一篇,就是下图中的最下一层的一部分. 在Linux中,SATA/USB/SCSI接口都是使用SCSI模块实现的,所以使用这些接口的硬盘在 ...