zoukankan      html  css  js  c++  java
  • [转载] Centos7 安装Mongodb4.0

    官网安装教程地址:docs.mongodb.com/manual/tuto…

    1、创建仓库文件:

    vi /etc/yum.repos.d/mongodb-org-4.0.repo
    

    然后复制下面配置,保存退出

    [mongodb-org-4.0]
    name=MongoDB Repository
    baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
    gpgcheck=1
    enabled=1
    gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
    

    2、yum安装

    yum install -y mongodb-org
    

    没有权限就在前面加: sudo

    3、修改配置文件

    MongoDB默认将数据文件存储在/var/lib/mongo目录,默认日志文件在/var/log/mongodb中。如果要修改,可以在 /etc/mongod.conf 配置中指定备用日志和数据文件目录。 安装完毕后修改配置文件:

    vi /etc/mongod.conf
    ##修改配置文件的 bind_ip, 默认是 127.0.0.1 只限于本机连接。所以安装完成后必须把这个修改为 0.0.0.0 ,否则通过别的机器是没法连接的!
    

    修改日志存放路径: path

    # where to write logging data.
    systemLog:
      destination: file
      logAppend: true
      path: /var/log/mongodb/mongod.log
    

    修改数据文件存放路径:

    # Where and how to store data.
    storage:
      dbPath: /var/lib/mongo
      journal:
        enabled: true
    

    修改允许远程连接:

    # network interfaces
    net:
      port: 27017
      bindIp: 127.0.0.1  # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.
    

    4、启动、停止、重启

    #启动
    service mongod start
    #停止
    service mongod stop
    #重启
    service mongod restart
    
    #查看mongoDB是否启动成功:
    chkconfig mongod on
    #或者
    cat /var/log/mongodb/mongod.log
    

    5、创建用户与授权

    mongodb的用户名和密码是基于特定数据库的,而不是基于整个系统的。所有所有数据库db都需要设置密码 启动:

    service mongod start
    

    登录mongo

    # mongo
    MongoDB shell version v4.0.9
    connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
    

    show dbs

    > show dbs
    admin   0.000GB
    config  0.000GB
    local   0.000GB
    > 
    

    进入admin数据库 use admin

    > use admin
    switched to db admin
    > 
    

    创建管理员账户

    > db.createUser({ user: "mongo", pwd: "mongo1234", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
    Successfully added user: {
    	"user" : "mongo",
    	"roles" : [
    		{
    			"role" : "userAdminAnyDatabase",
    			"db" : "admin"
    		}
    	]
    }
    > 
    # mongodb中的用户是基于身份role的,该管理员账户的 role是 userAdminAnyDatabase。 ‘userAdmin’代表用户管理身份,’AnyDatabase’ 代表可以管理任何数据库。
    

    验证创建用户是否成功

    > db.auth("mongo", "mongo1234")
    1
    > exit
    bye   #退出
    # 如果返回1,则表示成功。
    

    修改配置 vi /etc/mongod.conf

    #security:
    security:
      authorization: enabled
    
    #注意缩进,缩进参照配置文件其他配置。缩进错误可能重启不成功。
    
    找到#security: 取消注释,修改为:
    security:
    authorization: enabled #注意缩进,缩进参照配置文件其他配置。缩进错误可能第6步重启不成功。
    

    重启mongo

    service mongod restart
    

    进入mongodb

    [root@vultr ~]# mongo
    MongoDB shell version v4.0.9
    connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
    Implicit session: session { "id" : UUID("c672f4f9-93dc-4078-a62a-2b539c14754e") }
    MongoDB server version: 4.0.9
    > use admin
    switched to db admin
    > db.auth("mongo", "mongo1234") 
    1
    > show dbs
    admin   0.000GB
    config  0.000GB
    local   0.000GB
    > 
    

    创建新的数据库

    > use mallport
    switched to db mall-port
    > db
    mallport
    > 
    

    为新的数据库创建管理员用户与密码

    > db.createUser({ user: "malladmin", pwd: "malladmin1234", roles: [{ role: "dbOwner", db: "mallport" }] })
    Successfully added user: {
    	"user" : "malladmin",
    	"roles" : [
    		{
    			"role" : "dbOwner",
    			"db" : "mallport"
    		}
    	]
    }
    > 
    #rote:dbOwner 代表数据库所有者角色,拥有最高该数据库最高权限。比如新建索引等
    

    新建数据库读写账户

    > db.createUser({ user: "mallport", pwd: "mallport1234", roles: [{ role: "readWrite", db: "mallport" }] })
    Successfully added user: {
    	"user" : "mallport",
    	"roles" : [
    		{
    			"role" : "readWrite",
    			"db" : "mallport"
    		}
    	]
    }
    >
    #该用户用于该数据的读写,只拥有读写权限。
    

    原文地址:https://juejin.im/post/5cd15e74e51d453a6c23b07b

  • 相关阅读:
    大数据时代之hadoop(一):hadoop安装
    求二叉树的镜像
    Python爬虫(一):基本概念
    汉字转拼音(不带音调)
    通过java类文件识别JDK编译版本号
    单机服务器支持千万级并发长连接的压力测试
    利用ansible来做tomcat应用的持续交付
    使用squid配置透明代理并对上网行为进行控制
    Linux最大文件句柄(文件描述符)限制和修改
    CentOS7.3 部署Haproxy 1.7.2
  • 原文地址:https://www.cnblogs.com/ghhjanes/p/11285815.html
Copyright © 2011-2022 走看看