mongodb 安装

Linux下安装MongoDB

  MongoDB是一个C++编写的基于分布式文件存储的数据库,是一个介于关系和非关系之间的数据库,当然也属于NoSQL的行列,存储方式和Redis类似,是json格式的kav-value存储方式,只是Redis是内存存储,而MongoDB是和普通的数据库目录一样存储在硬盘上

  下面就在Linux上部署单节点的MongoDB,过程如下:

  首先去MongoDB官网下载软件包,首页是:https://www.mongodb.com/

1, 下载,解压到目录 /usr/local

 

 2,创建出数据库目录,MongoDB的数据存储在data目录的db目录下,但是这个目录在安装过程不会自动创建,所以你需要手动创建data目录,并在data目录中创建db目录。

以下实例中我们将data目录创建于根目录下(/usr/local/mongodb)。

注意:/usr/local/mongodb/data/db 是 MongoDB 默认的启动的数据库路径(--dbpath)。

 

 2, mongodb.conf  配置文件编写 /etc/mongodb

 #日志文件位置

 logpath=/data/db/journal/mongodb.log  (这些都是可以自定义修改的)

 # 以追加方式写入日志

 logappend=true

 # 是否以守护进程方式运行

 fork = true

 # 默认27017

 #port = 27017

 # 数据库文件位置

 dbpath=/data/db

 # 启用定期记录CPU利用率和 I/O 等待

 #cpu = true

 # 是否以安全认证方式运行,默认是不认证的非安全方式

 #noauth = true

 #auth = true

 # 详细记录输出

 #verbose = true

 # Inspect all client data for validity on receipt (useful for

 # developing drivers)用于开发驱动程序时验证客户端请求

 #objcheck = true

 # Enable db quota management

 # 启用数据库配额管理

 #quota = true

 # 设置oplog记录等级

 # Set oplogging level where n is

 #   0=off (default)

 #   1=W

 #   2=R

 #   3=both

 #   7=W+some reads

 #diaglog=0

 # Diagnostic/debugging option 动态调试项

 #nocursors = true

 # Ignore query hints 忽略查询提示

 #nohints = true

 # 禁用http界面,默认为localhost:28017

 #nohttpinterface = true

 # 关闭服务器端脚本,这将极大的限制功能

 # Turns off server-side scripting.  This will result in greatly limited

 # functionality

 #noscripting = true

 # 关闭扫描表,任何查询将会是扫描失败

 # Turns off table scans.  Any query that would do a table scan fails.

 #notablescan = true

 # 关闭数据文件预分配

 # Disable data file preallocation.

 #noprealloc = true

 # 为新数据库指定.ns文件的大小,单位:MB

 # Specify .ns file size for new databases.

 # nssize =

 # Replication Options 复制选项

 # in replicated mongo databases, specify the replica set name here

 #replSet=setname

 # maximum size in megabytes for replication operation log

 #oplogSize=1024

 # path to a key file storing authentication info for connections

 # between replica set members

 #指定存储身份验证信息的密钥文件的路径

 #keyFile=/path/to/keyfile

3,启动mongodb

 /usr/local/mongodb/bin/mongod -f /etc/mongodb.conf

 

 4,Mongodb 开启密码认证

 MongoDB 如果不配置登陆的情况是等于游客也是超级管理员的,但默认不支持外链接的

 show dbs

  • 在mongodb新版本里并没有admin数据库,但是并不妨碍第2步操作。
  • use admin 进入admin数据库
  • 创建管理员账户
    db.createUser({ user: "useradmin", pwd: "adminpassword", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })

 

 mongodb中的用户是基于身份role的,该管理员账户的 role是 userAdminAnyDatabase。 ‘userAdmin’代表用户管理身份,’AnyDatabase’ 代表可以管理任何数据库。

 验证第3步用户添加是否成功

  • db.auth("useradmin", "adminpassword") 如果返回1,则表示成功。

 

 

 
exit退出系统
db.auth()方法理解为 用户的验证功能

 修改配置

  • sudo vi /etc/mongod.conf

 

重启mongodb 验证用户密码

创建管理员
db.createUser({user:"root",pwd:"robot1qaz",roles:["userAdminAnyDatabase"]})
创建用户,及数据库
db.createUser({user: "deploy",pwd: "deploy1qaz",roles: [{ role: "readWrite", db: "chatbots" }]})
删除用户
db.system.users.remove({user:"deploy"})
显示用户
db.system.users.find()

原文地址:https://www.cnblogs.com/wuchangsoft/p/9398437.html