环境
centos 6.5,64位
mongodb 3.2.9
下载Mongodb
到官网 https://www.mongodb.com/download-center 下载,选择:
https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.4.6.tgz
解压
解压并mv到 /home/applications/mongodb-3.2.9
配置
配置mongodb.conf
cd /home/applications/mongodb-3.2.9
vim mongodb.conf
mongodb.conf内容
dbpath=/home/applications/mongodb-3.2.9/db
logpath=/home/applications/mongodb-3.2.9/logs/mongodblog
port=27037 #默认端口为27017
#fork=true
#auth=true #第一次登录不需要开启身份验证,待创建用户后再设置为auth=true
nohttpinterface=false
rest=true #开启28037端口的web接口服务
profile=2 #开启操作性能日志收集,2为记录慢查询日志
slowms=50 #查询耗时阀值为50ms,db.getProfilingStatus() 查看开启后的效果,需要重启mongodb才会生效
logappend=true #日志追加,再次启动mongodb后日志不会覆盖
verbose=true
vvvv=true
diaglog=3
nssize=128 #命名空间的文件从配置为128M开始,默认16M,最大为2G
创建数据库路径和日志存储路径
mkdir -p /home/applications/mongodb-3.2.9/db /home/applications/mongodb-3.2.9/logs
目录列表
$ ll /home/applications/mongodb-3.2.9
drwxr-xr-x. 2 root root 4096 Sep 13 17:39 bin
drwxrwxrwx. 5 root root 4096 Sep 19 23:49 db
-rw-r--r--. 1 root root 34520 Aug 17 01:27 GNU-AGPL-3.0
-rw-r--r--. 1 root root 74431371 Sep 20 12:44 logs
-rw-r--r--. 1 root root 233 Sep 19 15:39 mongodb.conf
-rw-r--r--. 1 root root 16726 Aug 17 01:27 MPL-2
-rw-r--r--. 1 root root 1359 Aug 17 01:27 README
-rw-r--r--. 1 root root 35910 Aug 17 01:27 THIRD-PARTY-NOTICES
启动
bin/mongod -f /home/applications/mongodb-3.2.9/mongodb.conf &
登录
/home/applications/mongodb-3.2.9/bin/mongo localhost:27037
shell帮助命令
> help
创建用户
参考
http://www.cnblogs.com/zhoujinyi/p/4610050.html
https://docs.mongodb.com/manual/reference/command/createUser/
创建超级管理员用户
db.createUser({
user : 'root',
pwd : 'root',
roles : [{
role : 'root',
db : 'admin'
}
]
});
成功创建用户后再次登陆
use admin
db.auth('root','root')
show dbs
show collections
稀疏索引
创建
db.coll.createIndex({ss:1},{sparse:true}); //默认为partial indexes
稀疏索引上进行null相关的判断(等于,不等于})或者sort时,不不实用hint强制指定索引时,将不使用索引
db.coll.find({ss:{$ne:null}}).explain(); //不使用索引
db.coll.find().sort({ss:1}).explain(); //不使用索引
db.coll.find().sort({ss:1}).hint({ss:1}).explain(); //强制使用索引,但 ss字段为空的或者不存在该字段的数据不返回