mongodb是时下流行的NoSql数据库,它的存储方式是文档式存储,并不是Key-Value形式。
存储在集合中的文档,被存储为键-值对的形式。键用于唯一标识一个文档,为字符串类型,而值则可以是各种复杂的文件类型。我们称这种存储形式为BSON(Binary JSON)。
模式自由(schema-free),意味着对于存储在mongodb数据库中的文件,我们不需要知道它的任何结构定义。如果需要的话,你完全可以把不同结构的文件存储在同一个数据库里。
mongodb中有三元素:数据库,集合,文档,其中“集合”就是对应关系数据库中的“表”,“文档”对应“行”。
MongoDB安装很简单,基本无需安装,安装包解压后即可使用。
命令行指定数据目录启动
# mongod --dbpath /data/mongodb --logpath /var/log/mongodb.log指定配置文件启动
# mongod -f /etc/mongod_27019.conf本文例子是在Cent OS 7上进行安装,mongoDB版本是3.0
设定文件位置:/etc/mongod.conf
数据库路径:/var/lib/mongo
1. 日志里出现上面的信息,需要调整Readahead的大小
# blockdev --report # blockdev --setra 256 /dev/sda # blockdev --setra 256 /dev/dm-12. 日志里出现下面信息,需要修改内核参数
WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.关闭透明大页
echo never > /sys/kernel/mm/transparent_hugepage/enabled echo never > /sys/kernel/mm/transparent_hugepage/defrag3. Cent OS 7上需要把mongoDB添加到systemd,否则会出现下面的错误
systemd[1]: Failed to start SYSV: Mongo is a scalable, document-oriented database..将mongoDB添加到systemd
# vi /usr/lib/systemd/system/mongod.service [Unit] Description=mongodb database [Service] User=mongod Group=mongod Environment="OPTIONS=--quiet -f /etc/mongod.conf" ExecStart=/usr/bin/mongod $OPTIONS run PIDFile=/var/run/mongodb/mongod.pid [Install] WantedBy=multi-user.target建立链接
# ln -s /usr/lib/systemd/system/mongod.service /etc/systemd/system/multi-user.target.wants/重新加载systemctl
# systemctl daemon-reload设定文件 /etc/mongod.conf
processManagement: fork: true net: bindIp: 127.0.0.1 port: 27017 storage: dbPath: /srv/mongodb systemLog: destination: file path: "/var/log/mongodb/mongod.log" logAppend: true storage: journal: enabled: trueprocessManagement.fork: true 以daemon模式启动mongod
net.bindIp: 指定IP,逗号分隔,注释掉的情况下,服务启动在0.0.0.0
systemLog.quiet: true 日志输出使用quiet模式,只输出critical
storage.dbPath: 指定数据的存放位置
replication.replSetName: 副本集的名字
security.authorization: enabled 使用认证
security.keyFile: 使用keyFile
verbosity: 日志开启debug模式,0-5
operationProfiling.slowOpThresholdMs: slowlog设定,默认100
net.http.RESTInterfaceEnabled: rest接口是否有效
net.maxIncomingConnections: 最大连接数,默认65536,不能超过系统设置,# ulimit -n
下面列出一些使用mongoDB的常用命令,其他还有很多,详细参照官方文档
查找集合中所有数据
> db.user.find()指定条件查找数据
> db.user.find({age: {$gt: 10}}); > db.user.find({sex: /m/});指定条件统计数据
> db.user.count({sex: "m"});http://IP:28017/
本文只是初步学习一下mongoDB的安装和使用,副本集,分片等功能,接下来会进行介绍。
转载于:https://www.cnblogs.com/ee900222/p/mongodb_1.html
