地址: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.log
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
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): 64000
MongoDB自带JavaScript shell,是一个功能完备的JavaScript解释器
1)linux
新起一个进程,./mongo命令
./mongo [--host] 10.10.10.10:27018
2)windows
在mongo bin目录执行mongo命令
1)查看shell内置的帮助文档
> help
2)查看数据库级别的帮助文档
> db.help()
3)查看集合级别的帮助文档
> db.foo.help()
4)查看响应函数的JavaScript实现代码
直接在shell输入函数名(函数名后不要输入小括号)
> db.foo.update
5)查看复制集相关的帮助文档
> rs.help()
6)查看集群级别的帮助文档
> sh.help()
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辅助函数不可以在文件中使用
如果某些脚本会被频繁加载,可以将它们添加到mongorc.js文件中。这个文件会在启动shell时自动运行。
//禁止删除数据库
db.dropDatabase = DB.prototype.dropDatabase = no;
改变数据库函数时,要确保同时对db变量和DB原型进行改变,如果只改变了其中一个,那么db变量可能没
有改变,或者这些改变在新使用的所有数据库中都不会生效。
conn = new Mongo("some-host:port")
db = conn.getDB("");
db为全全局变量,是一个数据库连接,这个变量是通过shell访问MongoDB的主要入口点
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的所有用户
> db.users.find().pretty()
默认的情况下,关闭shell,mongodb就停止运行了。
> use admin;
> db.shutdownServer();
注:此命令值允许在本地,或是一个经过认证的客户端。
检查从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