Linux下MongoDB的安装,通过配置文件启动Mongodb的方式研究,mongodb自启动脚本(Linux),Windows下安装MongoDB服务

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
日志服务 SLS,月写入数据量 50GB 1个月
简介: 关于MongoDB的windows的 安装,可以参考:http://www.runoob.com/mongodb/mongodb-window-install.html关于Linux的安装可以参考:http://www.runoob.com/mongodb/mongodb-linux-install.html使用MongoDB的场景:A:需要写入大量的数据,但是这些数据的价值并不是

关于MongoDB的windows的 安装,可以参考:

http://www.runoob.com/mongodb/mongodb-window-install.html

关于Linux的安装可以参考:

http://www.runoob.com/mongodb/mongodb-linux-install.html


使用MongoDB的场景:

A:需要写入大量的数据,但是这些数据的价值并不是太高,比如:日志

B:数据增长量较大,而且数据结构有时候还不一致

C:未来数据会很大。


注意:Mongodb有32位和64位之分,32位为数据库最大容量不能超过2GB


1、下载Linux下MongoDB的安装文件

下载地址:https://www.mongodb.com/download-center#community

选择Linux ,previous Release,然后选择指定版本进行安装,截图如下:


2、将下载好的mongodb-linux-x86_64-ubuntu1404-3.2.11.tgz  解压


3、将mongodb-linux-x86_64-ubuntu1404-3.2.11 中的内容移动到/usr/local/mongodb

mkdir -p /usr/local/mongodb

mv mongodb-linux-x86_64-ubuntu1404-3.2.11/* /usr/local/mongodb

创建数据库目录

cd /usr/local/mongodb

mkdir -p data/db

创建日志文件的目录

mkdir log

4、配置环境变量/etc/profile

vim /etc/profile


保存文件,让配置文件立即生效

source /etc/profile

5、通过命令的方式启动mongodb的方式如下:

cd /usr/local/mongodb
./bin/mongod -port 27017 -dbpath data/db --logpath log/mongodb.log --rest

注意上面启动的是mongodb的服务端


启动客户端的方式是:

cd /usr/local/mongodb 

./bin/mongo mongodb机器ip:27017


查看mongodb的进程的方式:

ps -ef | grep mongodb

杀死mongodb进程的方式:pkill mongod


通过浏览器访问mongodb的控制台,之所以可以访问时因为在启动mongodb的时候后面加了一个 --rest



同理:window上的启动服务器端的示例:

mongod.exe --auth -port 27017 --dbpath "D:\installed\mongoDB\data\db" --logpath "D:\installed\mongoDB\docCheck\logs\MongoDB.log"

启动客户端的方式:

mongo.exe 127.0.0.1:27017


6、关于启动参数的说明(下面以window下的配置说明为示例):

--auth    //安全验证方式启动(即需要用户名和密码)

--dbpath "D:\installed\mongoDB\data\db"           //设定数据文件存放地址

--logpath "D:\installed\mongoDB\docCheck\logs\MongoDB.log"    //设定日志文件存放地址


7、通过配置文件来配置Mongodb

首先在mongodb目录下 新建一个文件,文件名任意,在这里取名为:mongodb.conf

# vim mongodb.conf

内容如下:

port=27017

replSet=docdetection                              #这个是创建副本集的方式
dbpath=/usr/local/mongodb/data/db
logpath=/usr/local/mongodb/log/mongodb.log
logappend=true
fork=true
noauth=true
smallfiles=true
noprealloc=true

rest=true


启动它:

root@localhost:/usr/local/mongodb# ./bin/mongod -f mongodb.conf


启动客户端测试:

root@localhost:/usr/local/mongodb# ./bin/mongo localhost:27017
MongoDB shell version: 3.2.11
connecting to: localhost:27017/test
Server has startup warnings: 
2017-02-19T18:39:14.605+0800 I CONTROL  [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2017-02-19T18:39:14.605+0800 I CONTROL  [initandlisten] 
2017-02-19T18:39:14.605+0800 I CONTROL  [initandlisten] 
2017-02-19T18:39:14.605+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2017-02-19T18:39:14.605+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2017-02-19T18:39:14.605+0800 I CONTROL  [initandlisten] 
2017-02-19T18:39:14.605+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.

2017-02-19T18:39:14.606+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2017-02-19T18:39:14.606+0800 I CONTROL  [initandlisten]


8、自启动脚本:

vi /etc/mongodb.conf

输入以下内容:

port=27017

replSet=docdetection                              #这个是创建副本集的方式
dbpath=/usr/local/mongodb/data/db
logpath=/usr/local/mongodb/log/mongodb.log
logappend=true
fork=true
noauth=true
smallfiles=true
noprealloc=true

rest=true


下面加入自启动

cd /etc/init.d/

vi mongodb

添加一下内容:

#!/bin/bash


start() {
    /usr/local/mongodb/mongod -f /etc/mongodb.conf
}


stop() {
    /usr/local/mongodb/mongod -f /etc/mongodb.conf --shutdown
}


case "$1" in
    start)
    start
;;
    stop)
    stop
;;
    restart)
    stop
    start
;;
    *)
    echo $"Usage:$0 {start|stop|restart}"
    exit 1
esac


加入自启动:

chkconfig --add mongodb

chmod +x  mongodb

chkconfig mongodb on


如果是ubuntu

update-rc.d mongodb defaults


若方便重启,可以使用reboot重启测试(也可以不重启进行测试)

测试如下:

root@localhost:/etc/init.d# ./mongodb start
note: noprealloc may hurt performance in many applications
about to fork child process, waiting until server is ready for connections.
forked process: 13622
child process started successfully, parent exiting


root@localhost:/etc/init.d# ./mongodb stop
note: noprealloc may hurt performance in many applications
killing process with pid: 13738
root@localhost:/etc/init.d# ./mongodb restart
note: noprealloc may hurt performance in many applications
There doesn't seem to be a server running with dbpath: /usr/local/mongodb/data/db
note: noprealloc may hurt performance in many applications
about to fork child process, waiting until server is ready for connections.
forked process: 13764
child process started successfully, parent exiting
root@localhost:/etc/init.d# /usr/local/mongodb/bin/mongo
mongo         mongodump     mongofiles    mongooplog    mongorestore  mongosniff    mongotop      
mongod        mongoexport   mongoimport   mongoperf     mongos        mongostat     
root@localhost:/etc/init.d# /usr/local/mongodb/bin/mongo admin
MongoDB shell version: 3.2.11
connecting to: admin
Server has startup warnings: 
2017-02-19T20:48:05.038+0800 I CONTROL  [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2017-02-19T20:48:05.038+0800 I CONTROL  [initandlisten] 
2017-02-19T20:48:05.038+0800 I CONTROL  [initandlisten] 
2017-02-19T20:48:05.038+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2017-02-19T20:48:05.038+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2017-02-19T20:48:05.038+0800 I CONTROL  [initandlisten] 
2017-02-19T20:48:05.038+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2017-02-19T20:48:05.038+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2017-02-19T20:48:05.038+0800 I CONTROL  [initandlisten] 
> show dbs
local  0.000GB
>


以管理员身份进入管理后台

/usr/local/mongodb/bin/mongo admin


发现结果是:

root@localhost:/usr/local/mongodb# ./bin/mongo admin
MongoDB shell version: 3.2.11
connecting to: admin
Server has startup warnings: 
2017-02-19T20:33:58.602+0800 I CONTROL  [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2017-02-19T20:33:58.602+0800 I CONTROL  [initandlisten] 
2017-02-19T20:33:58.603+0800 I CONTROL  [initandlisten] 
2017-02-19T20:33:58.603+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2017-02-19T20:33:58.603+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2017-02-19T20:33:58.603+0800 I CONTROL  [initandlisten] 
2017-02-19T20:33:58.603+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2017-02-19T20:33:58.603+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2017-02-19T20:33:58.603+0800 I CONTROL  [initandlisten] 
> show dbs;
local  0.000GB


经过以上步步骤使得mongodb通过脚本自动启动


9、Windows下创建MongoDB的启动服务

A:在MongoDB目录下新建一个logs文件夹用于存放日志文件,然后组合键win + x + a,打开管理员命令提示符。  在左侧选择管理员:命令提示符

C:\WINDOWS\system32>echo logpath=D:\installed\mongoDB\docCheck\logs\MongoDB.log > "D:\installed\mongoDB\docCheck\mongod.cfg"
C:\WINDOWS\system32>echo dbpath=D:\installed\mongoDB\data\db >> "D:\installed\mongoDB\docCheck\mongod.cfg"


B:准备工作已经做完,下面开始最重要的一步,使用SC命令创建MongoDB服务:

C:\WINDOWS\system32>sc.exe create MongoDB binpath="D:\installed\mongoDB\docCheck\bin\mongod.exe --service --config=D:\installed\mongoDB\docCheck\mongod.cfg"
[SC] CreateService 成功
C:\WINDOWS\system32>


C:开启服务,使用如下命令:

C:\WINDOWS\system32>net start MongoDB


MongoDB 服务已经启动成功。


截图如下:


然后win + r,输入services.msc打开windows服务列表,你会看到一个名称为MongoDB,状态为"正在运行"的服务。


到此为止你就可以从服务中启动MongoDB,然后使用它的服务而不用一直保留着另一个服务端的DOS窗口了。



相关实践学习
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
目录
相关文章
|
1月前
|
Linux 应用服务中间件 Shell
linux系统服务二!
本文详细介绍了Linux系统的启动流程,包括CentOS 7的具体启动步骤,从BIOS自检到加载内核、启动systemd程序等。同时,文章还对比了CentOS 6和CentOS 7的启动流程,分析了启动过程中的耗时情况。接着,文章讲解了Linux的运行级别及其管理命令,systemd的基本概念、优势及常用命令,并提供了自定义systemd启动文件的示例。最后,文章介绍了单用户模式和救援模式的使用方法,包括如何找回忘记的密码和修复启动故障。
44 5
linux系统服务二!
|
1月前
|
Linux 应用服务中间件 Shell
linux系统服务!!!
本文详细介绍了Linux系统(以CentOS7为例)的启动流程,包括BIOS自检、读取MBR信息、加载Grub菜单、加载内核及驱动程序、启动systemd程序加载必要文件等五个主要步骤。同时,文章还对比了CentOS6和CentOS7的启动流程图,并分析了启动流程的耗时。此外,文中还讲解了Linux的运行级别、systemd的基本概念及其优势,以及如何使用systemd管理服务。最后,文章提供了单用户模式和救援模式的实战案例,帮助读者理解如何在系统启动出现问题时进行修复。
46 3
linux系统服务!!!
|
1月前
|
Ubuntu Linux Shell
Linux 系统中的代码类型或脚本类型内容
在 Linux 系统中,代码类型多样,包括 Shell 脚本、配置文件、网络配置、命令行工具和 Cron 定时任务。这些代码类型广泛应用于系统管理、自动化操作、网络配置和定期任务,掌握它们能显著提高系统管理和开发的效率。
|
1月前
|
Linux 数据库
Linux服务如何实现服务器重启后的服务延迟自启动?
【10月更文挑战第25天】Linux服务如何实现服务器重启后的服务延迟自启动?
222 3
|
1月前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
102 3
|
1月前
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。
|
2月前
|
NoSQL Ubuntu Linux
Linux平台安装MongoDB
10月更文挑战第11天
63 5
|
2月前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
61 1
|
2月前
|
Ubuntu Linux 网络安全
Linux中服务管理问题
【10月更文挑战第4天】
28 2
|
2月前
|
应用服务中间件 Linux Shell
Linux 配置 Nginx 服务的详细步骤,绝对干货
Linux 配置 Nginx 服务的详细步骤,绝对干货
88 0