MongoDB 安装及启动

一 配置及安装

1、下载

 地址:https://www.mongodb.com/download-center

2、解压并配置

   mongod没有参数的情况下会使用默认数据目录/data/db(Windows为C:\data\db),若目录不存在或者不
 可写,服务会启动失败。
 MongoDB默认端口为27017

二 启动

1、前台启动

 1)linux
  运行mongod命令启动数据库服务器

./mongod --dbpath /path/mongodb --bind_ip 10.10.10.10 --port 27021  //启动绑定固定的IP地址、端口

  注:也可以不加端口和ip,服务会使用默认的端口27017,并且可以直接使用./mongo连上本机的      mongoddb,一般用于临时的开发测试
 2)windows
  执行mongod.exe

2、daemon方式运行

 1)命令后加”&”

./mongod --dbpath /path/mongodb --bind_ip 10.10.10.10 --port 27021 &

 2)使用mongo字典的–fork参数

./mongod --dbpath /path/mongodb --bind_ip 10.10.10.10 --port 27021 --fork=true --logpath=/path/mongod.log

3、用配置文件启动

 mongo.conf

port=27018                          //绑定的端口
bind_ip=10.10.10.10                 //绑定的ip,可绑定多个用","分开
dbpath=/data/db                     //mongodb数据文件存储路径
logpath=/data/db/mongod.log         //mongod的日志路径
pidfilepath=/data/db/mongod.pid
logappend=true                      //日志使用追加代替覆盖
fork=true
./mongod -f ../conf/mongo.conf 

 注:后台运行时如果需要优雅的关闭mongo进程,需要在bind_ip中增加127.0.0.1

4、启动参数详解

 dbpath:mongodb的数据文件存储路径
 logpath:mongodb的日志路径
 logappend:日志使用最佳代替覆盖,boolean值
 bind_ip:绑定的IP
 port:绑定的端口
 journal:write操作首先写入”日志”,是一个数据安全的设置

5、启动警告:WARNING: soft rlimits too low

 1)内容

MongoDB shell version: 3.2.11
connecting to: test
Server has startup warnings: 
2017-05-09T12:34:19.688-0700 I CONTROL  [initandlisten] 
2017-05-09T12:34:19.688-0700 I CONTROL  [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 1024 processes, 64000 files. Number of processes should be at least 32000 : 0.5 times number of files.

  mongodb当前限制:1024 processes, 64000 files
  mongodb建议要求:processes = 0.5*files=32000(至少)
  所以需要将 processes 从1024 改为 32000 或更大.
 2)解决方法
  方法一
   修改配置文件 /etc/security/limits.d/90-nproc.conf
   [root@localhost ~]# vi /etc/security/limits.d/90-nproc.conf

*          soft    nproc     1024  
改为:  
*          soft    nproc     65536

  方法二
   修改配置文件 /etc/security/limits.conf,添加配置信息:
   [root@localhost ~]# vi /etc/security/limits.conf

mongod soft nofile 65536  
mongod hard nofile 65536  
mongod soft nproc 65536  
mongod hard nproc 65536  

  修改配置文件然后重启 mongod 服务
3)mongoDB推荐配置

-f (file size): unlimited  
-t (cpu time): unlimited  
-v (virtual memory): unlimited  
-n (open files): 64000  
-m (memory size): unlimited  
-u (processes/threads): 64000  

三 Mongo Shell

MongoDB自带JavaScript shell,是一个功能完备的JavaScript解释器

1、进入本地shell

 1)linux
  新起一个进程,./mongo命令

./mongo [--host] 10.10.10.10:27018

 2)windows
  在mongo bin目录执行mongo命令

2、帮助文档

 1)查看shell内置的帮助文档

> help

 2)查看数据库级别的帮助文档

> db.help()

 3)查看集合级别的帮助文档

> db.foo.help()

 4)查看响应函数的JavaScript实现代码
  直接在shell输入函数名(函数名后不要输入小括号)

> db.foo.update

 5)查看复制集相关的帮助文档

> rs.help()

 6)查看集群级别的帮助文档

> sh.help()

3、使用shell执行脚本

 mongo shell会依次执行传入的脚本,然后退出
 1)使用本地mongod

mongo script1.js script2.js script3.js

 2)使用指定的主机/端口上的mongod运行脚本

mongo --quiet server-1:30000/foo script1.js script2.js

 3)使用load()函数,从交互式shell中运行脚本

>load("script1.js")

 在脚本中可以访问db变量,以及其他全局变量。shell辅助函数不可以在文件中使用

4、mongorc.js文件

 如果某些脚本会被频繁加载,可以将它们添加到mongorc.js文件中。这个文件会在启动shell时自动运行。

//禁止删除数据库
db.dropDatabase = DB.prototype.dropDatabase = no;

   改变数据库函数时,要确保同时对db变量和DB原型进行改变,如果只改变了其中一个,那么db变量可能没
 有改变,或者这些改变在新使用的所有数据库中都不会生效。

四 常用命令

1、连接远程数据库

conn = new Mongo("some-host:port")
db = conn.getDB("");

db为全全局变量,是一个数据库连接,这个变量是通过shell访问MongoDB的主要入口点

2、辅助函数及对应JavaScript函数

use dbname  db.getSisterDB("dbname")    切换当前DB
show dbs    db.getMongo().getDBs()      列出所有DB
show collections|show tables    db.getCollectionNames()     列出当前DB的所有集合
show logs       列出运行日志
show profile    列出当前DB的所有慢查询
show users      列出当前DB的所有用户

3、格式化输出查询结果

> db.users.find().pretty()

五 关闭mongoDB

1、前台运行

 默认的情况下,关闭shell,mongodb就停止运行了。

2、后台运行

> use admin;
> db.shutdownServer();

 注:此命令值允许在本地,或是一个经过认证的客户端。

3、关闭主从式的复制集群

   检查从Mongodb的数据更新时间,如果所有的从MOngodb和主的时间差都超过10,这个时候不会关闭
 mongodb(可以通过配置timeoutSecs的方式来让从Mongodb完成数据的更新),如果其中有一个Mongodb
 与主服务时间差在10s内,那么主服务器会关闭,并且等待从Mongodb更新完成并关闭

4、强制关闭服务

db.adminCommand({shutdown:1,force:true})|db.shutdownServer({force:true})

5、指定特定超时时间的关闭服务器

db.shutdownServer({force:true,timeoutsec:5})

六 可视化工具

1、MongoChef

 下载地址:http://3t.io/mongochef/download/core/platform/

2、NoSQL Manager for MongoDB Professional

 下载地址:https://www.mongodbmanager.com/download

你可能感兴趣的:(MongoDB)