zoukankan      html  css  js  c++  java
  • 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()

  • 相关阅读:
    js事件委托篇(附js一般写法和js、jq事件委托写法)
    markdown工作随笔总结
    论实际开发中按钮显示和隐藏自身或其他元素
    彻底理解行内元素和块级元素,不必硬背
    redis搭建主从配置
    [Python图像处理]三.获取图像属性及通道处理
    [Python图像处理]二 OpenCV借助Numpy库读取和修改像素
    [Python图像处理]一.图像处理基础知识及OpenCV入门函数
    opencv2图像处理--灰度变换
    提取新闻网站信息
  • 原文地址:https://www.cnblogs.com/wuchangsoft/p/9398437.html
Copyright © 2011-2022 走看看