狗一样的学习,绅士一样的生活。。
分类: NOSQL
2016-01-06 14:46:01
MongoDB作为一种典型的NoSQL数据库系统,已经越来越多的被互联网企业所应用;随着MongoDB数据库的发展,技术改进与性能方面的提升,也获得了业界越来越多的关注与好评。
下面以 MongoDB-3.0为例,来进行安装与简单使用,前提:先在 /etc/hosts文件添加 主机名和IP映射
安装很简单,直接解压后,稍做些操作,就可以让其运行起来:
1、解压缩并重命名目录
# unzip mongodb-3.0.0.zip
# mv mongodb-3.0.0 mongo3(根据个人习惯)
2、创建用户和组
# groupadd mongod
# useradd mongod -g mongod
3、进入到 mongo目录中,创建配置文件目录,更改目录及子目录的用户与组为 普通用户 mongod
# cd mongo3 ; mkdir config
# chown -R mongod:mongod /home/mongo3/ ; chmod -R 755 /home/mongo3/
4、可以将 data目录下的所有文件全部删除
5、mongo及子目录的用户权限如下图
6、从线上 cp一份 mongod.conf配置文件到 config/目录下,并根据情况做适当调整,如:storageEngine = wiredTiger
注:如果不是副本集环境,千万不要用 replSet = * 参数,登录mongo后,创建授权用户和插入文档,都不报错,执行的命令正确,就是一直 not master 。。。( ˇ?ˇ )这是我给自己挖的一个坑,然后在坑里happy的玩...
7、看系统提示,可以安装 numactl,以用户 mongod 启动mongo
# su - mongod
$ numactl --interleave=all bin/mongod --dbpath=/home/mongo3/data/ -f /home/mongo3/config/mongod.conf --rest --httpinterface --fork
正常情况下,mongo启动后,会监听在 27017和28017(web管理界面)上
8、登录mongo系统
# bin/mongo 127.0.0.1/admin
9、查看数据库列表
> show dbs
查看集合列表
> show tables/collections
查看指定数据库统计信息,集合数
> db.stats()
10、新建数据库 testdb,默认情况下,show dbs时,新建的数据库是不存在的,要显示数据库,需要插入至少一个文件
> use testdb
> db.test2016.insert({"name":"mongobird"});
11、查看集合中的文档内容
> db.test2016.find({"name":"mongobird"}).pretty();
12、查看集合中的前 5条文档
> db.test2016.find({"name":"mongobird"}).limit(5);
13、查看集合中的行数
> db.test2016.find().count();
以上 mongo是以不安全方式运行的
################################
启动mongo时,添加 --auth 以安全方式运行(强烈推荐)
给业务库 testdb添加授权用户认证
> use testdb
> db.createUser(
... { user: "test",
... pwd: "test@2016",
... roles: [
... { role: "readWrite", db: "testdb" }
... ]
... })
Successfully added user: {
"user" : "test",
"roles" : [
{
"role" : "readWrite",
"db" : "testdb"
}
]
}
关闭mongo
# bin/mongod --shutdown --dbpath=data/
用 mongod用户,以 auth安全方式运行mongo
$ numactl --interleave=all bin/mongod --dbpath=/home/mongo3/data/ -f /home/mongo3/config/mongod.conf --rest --httpinterface
--auth --fork
登录mongo,直接进入 testdb库
# bin/mongo 127.0.0.1/testdb
> db.auth("test","test@2016")
待续。。。