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及子目录的用户权限如下图
 MongoDB-3.0单实例安装及简单应用-LMLPHP

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"
                          }
              ]
  }


 > show users  #查看该数据库下的用户

关闭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")

待续。。。



09-22 20:22