地址:https://www.mongodb.com/download-center
mongod没有参数的情况下会使用默认数据目录/data/db(Windows为C:\data\db),若目录不存在或者不 可写,服务会启动失败。 MongoDB默认端口为27017
1)linux 运行mongod命令启动数据库服务器
./mongod --dbpath /path/mongodb --bind_ip 10.10.10.10 --port 27021 //启动绑定固定的IP地址、端口注:也可以不加端口和ip,服务会使用默认的端口27017,并且可以直接使用./mongo连上本机的 mongoddb,一般用于临时的开发测试 2)windows 执行mongod.exe
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.logmongo.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
dbpath:mongodb的数据文件存储路径 logpath:mongodb的日志路径 logappend:日志使用最佳代替覆盖,boolean值 bind_ip:绑定的IP port:绑定的端口 journal:write操作首先写入”日志”,是一个数据安全的设置
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): 64000MongoDB自带JavaScript shell,是一个功能完备的JavaScript解释器
1)linux 新起一个进程,./mongo命令
./mongo [--host] 10.10.10.10:270182)windows 在mongo bin目录执行mongo命令
1)查看shell内置的帮助文档
> help2)查看数据库级别的帮助文档
> db.help()3)查看集合级别的帮助文档
> db.foo.help()4)查看响应函数的JavaScript实现代码 直接在shell输入函数名(函数名后不要输入小括号)
> db.foo.update5)查看复制集相关的帮助文档
> rs.help()6)查看集群级别的帮助文档
> sh.help()mongo shell会依次执行传入的脚本,然后退出 1)使用本地mongod
mongo script1.js script2.js script3.js2)使用指定的主机/端口上的mongod运行脚本
mongo --quiet server-1:30000/foo script1.js script2.js3)使用load()函数,从交互式shell中运行脚本
>load("script1.js")在脚本中可以访问db变量,以及其他全局变量。shell辅助函数不可以在文件中使用
如果某些脚本会被频繁加载,可以将它们添加到mongorc.js文件中。这个文件会在启动shell时自动运行。
//禁止删除数据库 db.dropDatabase = DB.prototype.dropDatabase = no;改变数据库函数时,要确保同时对db变量和DB原型进行改变,如果只改变了其中一个,那么db变量可能没 有改变,或者这些改变在新使用的所有数据库中都不会生效。
db为全全局变量,是一个数据库连接,这个变量是通过shell访问MongoDB的主要入口点
默认的情况下,关闭shell,mongodb就停止运行了。
注:此命令值允许在本地,或是一个经过认证的客户端。
检查从Mongodb的数据更新时间,如果所有的从MOngodb和主的时间差都超过10,这个时候不会关闭 mongodb(可以通过配置timeoutSecs的方式来让从Mongodb完成数据的更新),如果其中有一个Mongodb 与主服务时间差在10s内,那么主服务器会关闭,并且等待从Mongodb更新完成并关闭
db.adminCommand({shutdown:1,force:true})|db.shutdownServer({force:true})
db.shutdownServer({force:true,timeoutsec:5})
下载地址:http://3t.io/mongochef/download/core/platform/
下载地址:https://www.mongodbmanager.com/download