zoukankan      html  css  js  c++  java
  • 【Linux】centos MongoDB 3.4 安装及配置

    先放一张官方文档中版本兼容的图

    我centOS中是python3.4,选择了mongo3.4,按照文档进行安装


    1.建立一个yum调用的安装文件

    vim /etc/yum.repos.d/mongodb-org-3.4.repo

    2.里面写入如下内容

    [mongodb-org-3.4]
    name=MongoDB 3.4 Repository
    baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
    gpgcheck=0
    enabled=1

    3.使用yum安装mongo,这样安装默认安装了MongoDB的一些工具,如果想手动安装,点这里看文档

    yum install -y mongodb-org

    4.开启mongodb

    service mongod start

    如果能成功启动的话表示安装成功

    有可能会显示让你用systemctl启动,Redirecting to /bin/systemctl start mongod.service

    systemctl restart mongod ; systemctl status mongod

    如果status显示的是failed

    less /var/log/mongodb/mongod.log 看日志,

    一般可能是 

    用chmod修改一下文件权限或者chown修改一下/var/lib/mongod的owner和group,都改成mongod(其实默认的就是这个

    如果还不行...卸载重装... 

    5.接下来修改配置文件,端口信息、访问ip

    vim /etc/mongod.conf

    port 27017 (可修改为自己需要的端口)

    bindIp:127.0.0.1(默认只能本地访问,修改为0.0.0.0则都可以访问)

    6.mongodb默认不需要用户名密码,如果修改了bindIp,是很危险的。所以现在设置用户名密码

    进入mongo命令行

    mongo 127.0.0.1:27017

    mongodb默认有两个数据库,一个是admin, 一个是local.可以使用show dbs命令查看

    进入admin数据库

    use admin

    创建用户,并设置权限

    db.createUser({user: "root",pwd: "root",roles: [ { role: "readWriteAnyDatabase", db: "admin" } ]})

    role为权限组,在文档中有详细的说明,在网上借鉴了有中文的

    All build-in Roles 
    Database User Roles: read|readWrite
    数据库用户角色:读|读写
    Database Admion Roles: dbAdmin|dbOwner|userAdmin
    数据库管理角色:数据库管理员|数据库所有者|用户管理
    Cluster Admin Roles: clusterAdmin|clusterManager|clusterMonitor|hostManager
    集群管理角色:
    Backup and Restoration Roles: backup|restore
    All-Database Roles: readAnyDatabase|readWriteAnyDatabase|userAdminAnyDatabase|dbAdminAnyDatabase
    所有数据库角色:读所有数据库|读写所有数据库|所有数据库的用户管理员|所有数据库的管理员
    Superuser Roles: root 

      启用用户验证启动mongo(记得先停止服务)

    mongod --auth --config /etc/mongod.conf

    开机自启mongo配置

    echo "mongod --auth --config /etc/mongod.conf" >> /etc/rc.local

    7.带用户名密码的登录

    mongo 127.0.0.1:27017
    use admin
    db.auth("root","root")

    远程连接

    我使用的是robo 3t  以前叫Robomongo

    没什么需要注意的地方

    用户名密码在authentication里填

    上面database可以填admin,根据描述是连接所有数据库,也可以填你要连的那个

     8.mongodb卸载

    systemctl stop mongod #停止服务
    rm -rf /var/log/mongodb #删除日志
    rm -rf /var/lib/mongo #删除数据
    yum erase $(rpm -qa | grep mongodb-org) #删除软件包

    参考:

    mongoDb 官方文档: https://docs.mongodb.com/manual/tutorial/enable-authentication/

    均益个人博客: http://junyiseo.com/linux/429.html

  • 相关阅读:
    splice方法以及如何实现数组去重
    数组的几个重要方法以及如何清空数组
    for-in遍历
    浅谈json和数组的区别
    js实现查找替换关键字的效果
    js实现查找关键字效果
    原生js中大小写转化以及split分割字符串方法
    eclipse没有Web项目和Server选项
    【学习】005 线程池原理分析&锁的深度化
    什么是CPU密集型、IO密集型?
  • 原文地址:https://www.cnblogs.com/Hed-geh0g/p/8258519.html
Copyright © 2011-2022 走看看