Ubuntu16.04手动安装MongoDB的详细教程

我最近在研究MongoDB的路上,那么今天也算个学习笔记吧!今天用Ubuntu16.04手动安装MongoDB,分享给大家

注意事项:

  1. 仔细按步骤阅读操作
  2. 注意别写错字
  3. 牢记上面两点

一、用自带的火狐浏览器下载Ubuntu 16.04 Linux 64-bit x64

1、地址:http://www.mongodb.org/downloads

2、选择linux选项卡,再在下拉框中选中Ubuntu 16.04 Linux 64-bit x64

3、点击Download按钮(浏览器弹出的下载单选框选保存,确认),等待下载结束(默认保存在用户的Downloads文件夹)

二、将解压后的文件复制到/usr/local/mongodb(需要手动创建该目录)

1、首先打开终端(Ctrl+Alt+T)输入sudo mkdir /usr/local/mongodb来创建/usr/local/mongodb

2、解压刚才下载的tar包(右击tar包文件:提取到此处,随后会看到一个同名文件夹,如图)

3、通过终端命令将上一步解压后的“文件夹内”的文件复制(或移动到)/usr/local/mongodb/中

三、将mongodb的bin目录添加到PATH

我选择修改/etc/profile文件,这样所有用户都能使用

1、打开终端,输入sudo gedit /etc/profile

2、这时会弹出一个文件的编辑窗口,在该文件的底部,添加export PATH=$PATH:/usr/local/mongodb/bin然后保存(Ctrl+S或右上角保存按钮),关闭该文件

3、回到终端,输入source /etc/profile命令,使修改在当前生效

四、编辑mongod.conf

1、创建并编辑mongod.conf

(1)sudo gedit /etc/mongod.conf

(2)输入以下内容,然后保存退出:

# 详细记录输出
verbose = true

# 指定服务端口号,默认端口27017
port = 27017

# 指定MongoDB日志文件,注意是指定文件不是目录
logpath = /var/log/mongodb/logs/mongodb.log
# 使用追加的方式写日志
logappend = true

# 指定数据库路径
dbpath = /data/db/
#设置每个数据库将被保存在一个单独的目录
directoryperdb = true

# 启用验证
auth = false

#以守护进程的方式运行MongoDB,创建服务器进程
fork = true
#安静输出
quiet = true

2、创建配置文件中提到的用来保存文件的数据库目录,日志目录,日志文件:

(1)sudo mkdir -p /data/db/

(2)sudo mkdir -p /var/log/mongodb/logs/

(3)sudo touch /var/log/mongodb/logs/mongodb.log

五、编写脚本,注册开机启动

1、创建/etc/init.d/mongodb文件,并填入脚本内容:

(1)sudo gedit /etc/init.d/mongodb

(2)在弹出的编辑编辑窗口中写入下列内容并保存,退出

#!/bin/sh

### BEGIN INIT INFO
# Provides:  mongodb
# Required-Start:
# Required-Stop:
# Default-Start:  2 3 4 5
# Default-Stop:   0 1 6
# Short-Description: mongodb
# Description: mongo db server
### END INIT INFO

. /lib/lsb/init-functions

PROGRAM=/usr/local/mongodb/bin/mongod
MONGOPID=`ps -ef | grep 'mongod' | grep -v grep | awk '{print $2}'`

test -x $PROGRAM || exit 0
case "$1" in
 start)
  ulimit -n 3000
  log_begin_msg "Starting MongoDB server"
  $PROGRAM -f /etc/mongod.conf
  log_end_msg 0
  ;;
 stop)
  log_begin_msg "Stopping MongoDB server"
  if [ ! -z "$MONGOPID" ]; then
  kill -15 $MONGOPID
  fi
  log_end_msg 0
  ;;
 status)
  ;;
 *)
  log_success_msg "Usage: /etc/init.d/mongodb {start|stop|status}"
  exit 1
esac
exit 0

2、回到终端,修改文件权限,使脚本可执行

sudo chmod +x /etc/init.d/mongodb 

3、注册开机脚本

sudo update-rc.d mongodb defaults(移除用update-rc.d -f mongodb remove)

4、开启服务并测试连接:

sudo service mongodb start(停止服务用sudo service mongodb stop)

sudo mongo

本文参考资料:

1、Linux平台安装MongoDB

2、UbuntuServer12.04安装MongoDB,开机自启,服务,权限

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

时间: 2017-07-16

ubuntu服务器上快速部署docker的方法

最近在学习docker,今天学习了一下ubuntu服务器上快速部署docker,所以,今天添加一点小笔记. 安装curl sudo apt-get install curl 安装docker curl -sSL https://get.daocloud.io/docker | sh 添加非root用户到docker group(这里是ubuntu) sudo usermod -aG docker ubuntu 设置daocloud加速 step1 在www.daocloud.io上注册一个账户

ubuntu修改terminal终端的主机名的实现方法

ubuntu修改terminal终端的主机名的实现方法 有时候安装完Ubuntu系统后,打开命令终端,终端显示的主机名格式比较难看,例如 我最近买的国内某云的VPS. xxx@VM-1560-ubuntu$ xxx@VM-1560-ubuntu$ 对于有洁癖的人来说,看到这么长还带横杆的系统名就烦,想进各种方法消除他,还好,linux上命令修改特别方便. 一.关于hostname命令 hostname命令在linux上可以查看以及设置当前系统的名字 1. 查看hostname xxx@VM-15

ubuntu下linux常用指令小结

来实验室将近一个月,几乎没碰window,一直在ubuntu下开发,然后想总结一下最近常用的linux指令. (0) su和sudo:得到root权限 su 切换到root用户 sudo command 切换到root用户,执行command,然后切换回当前用户 su liaohuqiang 切换回普通用户 (1) apt:用于安装软件包 apt list 根据名称列出软件包 apt show 显示软件包细节 sudo apt install 安装软件包 sudo apt remove 卸载软件

ubuntu系统中/etc/rc.local和/etc/init.d/rc.local的区别详解

前言 我们在ubuntu下要把一个程序加入开机启动,一般可以通过修改rc.local来完成,但ubuntu下有两个rc.local文件.分别是/etc/rc.local和/etc/init.d/rc.local.可以看一下两个文件的内容找到他俩的关系: /etc/init.d/rc.local #! /bin/sh ### BEGIN INIT INFO # Provides: rc.local # Required-Start: $all # Required-Stop: # Default-

ubuntu上在androidstudio中启动emulator闪退的解决方法

阅读目录(Content) 平台 现象 解决 一.查看模拟器的信息 二.命令行运行模拟器 平台 Ubuntu14.04 64 现象 在AndrodStudio中点击模拟器的启动按钮后,模拟器界面弹出后,又立刻闪退. 解决 一.查看模拟器的信息 从上面可以看到模拟器的存放路径以及名称: 路径:/home/pengdonglin/.android/avd/4_WVGA_Nexus_S_API_24.avd 名称:4_WVGA_Nexus_S_API_24 架构:x86_64 二.命令行运行模拟器 在

Unity3D实验室之iOS真机闪退的解决方法

问题的产生 这个问题一般发生在项目比较大,OO使用良好,泛型继承用的较多的时候.第一次真机测试时,项目终于进入真机测试阶段,之前都是在Unity编辑环境下开发测试,运行的都很良好,信心满满的打包安装,结果闪退...,各种代码调试,跟踪都没什么线索.这怎么办?问题很可能出在了AOT的设置上. 解决方案 这个通常是因为你的程序编译的时候给 trampoline 分配的空间太小,而你的程序中又大量使用了泛型.泛型方法调用和接口实现导致的.具体的解决方法就是在 Unity3D 的编译选项 Player

MySQL 5.7安装好后打开命令行窗口闪退的解决方法

前言 最近在安装好MySQL 5.7发现了一个问题,打开命令行窗口会闪退,后来发现原来是这个问题 若是因为在mysql安装目录下找不到my.ini文件,请接着往下看 解决方法 返回桌面,在开始出找出--MySQL 5.7 cammand line client并右键打开文件位置 属性-查看"目标"中的完整路径,我这里是"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysql.exe" "--defaults-fi

关于解决iReport4.1.1无法正常启动或者闪退或者JDK8不兼容的问题

公司里面再用iReport的时候,我也安装使用了. 但是面临一个问题 我的iReport始终不能打开,困绕了老半天  但是是软件问题不方便问大佬自己研究了老大一会儿 加载之后就闪退了!!! 最后还是老大还是跟我说了需要JDK1.7才可以,我的电脑安装了两个jdk 一个是1.7的一个是1.8的   平时用的1.8  所以我开发的时候一直都是1.8  突然换成1.7的很麻烦 所以经过这两天的研究 我更改了配置文件,使得它单独强制的去使用jdk1.7来启动 1.我们打开\iReport-4.1.1\e

mysql 登录时闪退的问题解决方法

mysql 登录时闪退的问题解决方法 之前mysql用着好着,可是今天在启动mysql后输入密码出现了闪退,在任务管理器中发现mysql服务没有启动,当手动启动时提示拒绝访问.在网上查找原因发现问题所在. 问题原因:mysql服务没有安装. 解决办法: 在cmd操作下找到mysql的安装目录(注意要用管理员身份运行cmd) 在 mysql bin目录下 以管理员的权限 执行 mysqld -install命令 然后仍然以管理员的权限 net start mysql 开启Mysql服务了. 输入m

Android实现分享微信好友及出现闪退的解决办法

 1.申请微信APPID 要实现分享到微信的功能,首先要到微信开放平台申请一个APPID.但在申请APPID的时候需要填写一个应用签名和应用包名.需要注意的是包名必须与开发应用时的包名一致,应用签名也必须去掉冒号而且字母为小写. 2.应用签名的获取 开发android应用的人很多,很有可能类名.包名起成了同一个名字,签名这时候就起到区分的作用. 所有的Android应用都必须有数字签名,不存在没有数字签名的应用,包括模拟器运行的.模拟器开发环境,开发时,通过ADB接口上传的程序会自动被签有Deb

IOS开发中键盘输入屏幕上移的解决方法

在IOS开法中经常会遇到键盘遮挡屏幕的事情(比如输入账号密码验证码等等),就使得原本都不大的屏幕直接占了一半甚至更多的位置,这倒无所谓,关键是挡住了下面的按钮.这样的话按钮的事件也就触发不了,最好的解决办法就是当输入这些信息的时候让整个屏幕上移一个键盘的位置,或者上移到指定的位置. 首先一般输入的话都用的是UITextField,所以要监听用户什么时候开始输入和什么时候结束输入,直接设置代理代理就行了,要遵受 UITextFieldDelegate协议. //遵循协议 @interface Vi

ASP.NET在MVC中MaxLength特性设置无效的解决方法

本文实例讲述了ASP.NET在MVC中MaxLength特性设置无效的解决方法.分享给大家供大家参考.具体分析如下: 一.问题: 在ASP.NET MVC项目中,给某个Model打上了MaxLength特性如下: 复制代码 代码如下: public class SomeClass {     [MaxLength(16, ErrorMessage = "最大长度16")]     public string SomeProperty{get;set;} } 但在其对应的表单元素中并没有

thinkphp中session和cookie无效的解决方法

本文实例讲述了thinkphp中session和cookie无效的解决方法.分享给大家供大家参考.具体分析如下: 问题描述: 在本地调试时session和cookie是用没有问题的,我是用session保存当前登录账户的信息,上传服务器之后,发现跳转之后session不复存在,为什么呢?在当前页面输出session是存在的. 遇到这个问题三天了,因为是自学没有老师可以请教,身边也没有几个是弄PHP的,所以真的是很悲剧,于是乎百度,而百度上很多人都是屁话连天,没有什么可以解决问题的,经过三天的修改

wxpython中Textctrl回车事件无效的解决方法

本文实例讲述了wxpython中Textctrl回车事件无效的解决方法.分享给大家供大家参考,具体如下: 今天使用wxptyhon的Textctrl控件开发客户端时遇到了一个问题, 按照HTML表单的逻辑, 我们在Textctrl里回车应该提交查询, 但是wxpython的Textctrl很奇怪, 回车了居然是像Tab作用一样跳转到下一个控件.这样的话,要完成查询, 要么是鼠标点击按钮, 要么需要按两次或者两次以上. Google了一下, 无答案, 但是得到了一些有用的资料: TextCtrl支