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

关于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窗口了。

时间: 2024-11-16 15:30:39

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

详解Linux系统中Oracle数据库程序的启动和关闭方式_oracle

在单机环境下,要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle Oracle数据库有以下几种启动方式: 1. startup nomount 非安装启动,这种方式启动下可执行:重建控制文件.重建数据库 读取init.ora文件,启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件. 2. startup mount dbname 安装启动,这种方式启动下可执行: 数据库日志归档. 数据库介质恢复. 使数据文件联机或脱机, 重新

centos/ubuntu jenkins.war 自启动脚本,Linux启动停止jar包的运行案例

#! /bin/sh # chkconfig: 2345 10 90 # description: jenkins .... # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff. #prefix=/

Windows下安装与配置Nginx web服务器

前几篇文章,我们使用nginx都是在linux环境下,今天由于工作的需要.需要在windows环境也使用nginx搭建web服务器. 下面记录下有关nginx下的搭建与配置. 注意本次实验使用的windows server 2003 64bit,而且还是在虚拟机中.IP地址为192.168.1.221 首先去官网下载 nginx最新的的Windows版本,如下: http://nginx.org/en/download.html 下载到软件包后,解压 nginx-1.7.6.zip包到你喜欢的根

Windows下Redis的安装使用图解_Redis

Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hash(哈希类型).这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序.与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redis会周期性的把更新的数

linux和windows下的自动ftp脚本(shell bat)_linux shell

一.先来看linux下的: 复制代码 代码如下: #! /bin/bashcd /ftp/CURRENTDATE=` date +%Y%m%d `YESTERDAY=` date -d yesterday +%Y%m%d `THREEDAYAGO=` date -d '3 days ago' +%Y%m%d `#echo $TWODAYAGOftp -n -i 34.97.34.3 << !user ftpuser ftpuserbinmput $YESTERDAY.*delete $THRE

Windows下PHP开发环境搭建教程(Apache+PHP+MySQL)_php技巧

由于换电脑或重装系统后常需要重新搭建PHP环境,此次简单记录一下Windows下搭建PHP环境的过程,具体步骤可以参照网上资料 准备工作: Windows下手工搭建PHP环境需要先下载相应的软件,需要注意的是Apache与PHP的版本必须保持一致(均为32位或64位),如果版本不一致将导致整合Apache与PHP不成功,即修改配置文件后启动Apache报如下图所示的错误: 其实在http://windows.php.net/download/上有很详细的描述,读者可以根据自己的需要选择相应的版本

windows下mysql双向同步备份实现方法_win服务器

1.1 环境搭建 准备两台Windows NT 主机,分别安装好iKEY Server windows 版本,确定版本无误,确保mysql服务正常启动,确保两台主机处于同一个局域网中,确定好哪台做为主.备机器,假设A为主机,B为备机,假设A主机IP地址为:192.168.1.101,B主机IP地址为192.168.1.102 1.2 创建同步帐户 分别在A.B节点上登陆mysql 数据库,创建同步帐户并赋予同步权限,如下: A节点操作: 运行cmd, cd进入iKEY版本安装目录下的iKEY\m

如何在Windows上安装多个Mysql

本文以免安装版的mysql(Without installer)为例,对如何在Windows上安装多个MySQL进行讲解. 免安装版的mysql(Without installer),其安装包的文件名类似于mysql-noinstall-5.1.31-win32.zip.因为它包含了完整安装包中除配置向导以外的全部文件,所以需要你手动安装和配置MySQL的配置文件(my.ini). 在Windows上安装多个MySQL的具体步骤如下: (一)安装MySQL 5.1 1.MySQL免安装版下载地址

解决windows下MySQL表名大写自动变小写的问题

解决windows下MySQL表名大写自动变小写的问题   有些人可能会遇到在windows下,表名不能用大写字母, 即使使用了大写字母的建表语句,还是会被自动转成小写.   解决方法:  打开 MySQL 的配置文件 my.ini ,在 [mysqld] 节下加入    Xml代码   lower_case_table_names=0     重启MySQL,大功告成.