Moqbus环境:安装mongodb

1. mongodb简介

MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。

MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

https://www.runoob.com/mongodb/mongodb-tutorial.html

moqbus物联网平台使用mongodb存储传感数据。mongodb是nosql数据库,不需要事先定义数据结构(表/字段),因此能更好的适配多种类型的数据结构。

2. 安装

linux平台安装mongodb:

https://www.runoob.com/mongodb/mongodb-linux-install.html

3. 启动与安全设置

默认的启动方式下,mongodb是不进行权限认证的,也就是说它是开放的。只要知道了主机ip和mongodb的端口号,就可以对mongodb进行所有的操作。

如果忽视这一点,直接以默认方式启动,很容易收到黑客攻击。

{

    "_id" : ObjectId("5dd894f6389bf73f55e2b835"),

    "warning" : "Send 0.02 BTC to this address and contact this email with your ip or db_name of your server to recover your database! Your DB is Backed up to our servers!",

    "Bitcoin_Address" : "1Kss6v4eSUgP4WrYtfYGZGDoRsf74M7CMr",

    "Email" : "[email protected]"

}

所以,启动时一定要增加 --auth 选项:

mongod --auth --dbpath /moqbus/data/mongodb --logpath /moqbus/log/mongodb/mongod.log  &

mongodb是没有默认管理员账号的,在开启认证选项之前,需要先以非认证模式启动,添加管理员账号后,再以认证模式重新启动。

mongod --dbpath /moqbus/data/mongodb --logpath /moqbus/log/mongodb/mongod.log &

4. 创建管理员

mongodb没有超级管理员root。需要在admin数据库下创建一个userAdminAnyDatabase角色的用户作为管理员。这个管理员不能操作数据库数据,只能用来管理用户。

use admin

db.createUser(

  {

    user: "myAdmin",

    pwd: "12345678",

    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]

  }

)

关闭服务:

$ ./mongod

> use admin

> db.shutdownServer()

以下,使用 –auth 参 数,重新启动 mongoDB。

$ ./mongod

> use admin

> db.auth("myAdmin","12345678") #认证,返回1表示成功

5. 创建数据库和数据库用户

mongodb的数据库用户是隶属于某一个数据库的。

所以,要创建一个数据库用户,就需要先创建数据库。

创建数据库,只需要使用以下命令:use [dbname]

use moqbus_db

如果指定的数据库名[dbname]不存在,则会自动创建一个。

然后在这个数据库下创建用户:

db.createUser(

{

  user: "moqbus_user",

  pwd: "12345678",

  roles: [

      { role: "readWrite", db: "moqbus_db" }

  ]

}

)


6. 创建集合

$ ./mongo

use moqbus_db

db.auth("moqbus_user", "12345678")

db.createCollection("dat")

db.createCollection("msglog")

show collections

exit

7. 小结

至此,我们安装并运行了mongodb,创建了数据库、用户和集合。

数据文件:/moqbus/data/mongodb

日志文件: /moqbus/log/mongodb/mongod.log

管理员账号:myAdmin

数据库:moqbus_db

用户:moqbus_user

集合:dat,msglog

你可能感兴趣的:(Moqbus环境:安装mongodb)