• mongo在centos与windows上部署与配置,及远程连接mongo与数据用户和角色分配


    1.下载mongodb社区版:

    windows 安装包安装: https://www.mongodb.com/download-center#community(mongo下载中心)

    配置环境变量 控制面板 ->系统->高级系统设置->环境变量->系统变量path 追加 C:Program FilesMongoDBServer3.2in; (mongo默认安装位置bin目录下)

    启动数据库:

     新建 c://xx/mondb

    新建 c://xx/monlog

    mongod --dbpath c://xx/mondb   // 然后访问localhost:27017 (可以看到mongo给的一句提示英文,

    It looks like you are trying to access MongoDB over HTTP on the native driver port.)说明成功。

    配置mongo作为windows的一个服务来启动

        新建文件:c:xx/conf/mongod.cfg

      内容 :

    systemLog:
       destination: file
       path: C:xxmondblogmongod.log
       logAppend: true
    storage:
        dbPath: C:xxmondb

    然后打开命令行(以管理员身份运行,windows下只有管理员可以创建服务)

    mongod --config "C:xxmongod.cfg" --serviceName mongodbs --serviceDisplayName mongodbs --install

    服务安装成功后就可以使用

    net start mongodbs  (启动数据库)
    net stop mongodbs   (关闭数据库)

    centos (包管理器安装):

    创建yum库配置文件: /etc/yum.repos.d/mongodb-org-3.4.repo

    内容为:

    [mongodb-org-3.4]
    name=MongoDB Repository
    baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.4/x86_64/
    gpgcheck=1
    enabled=1
    gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc


    运行命令 :sudo yum install -y mongodb-org

    安装完后mongo
    默认配置文件位于 /etc/mongod.conf
    数据文件存储在
    /var/lib/mongo

    日志文件存储在
    /var/log/mongodb


    启动mongo数据库
    sudo service mongod start
    sudo service mongod stop
    sudo service mongod restart

    查看mongo数据库的状态 内存占用等
    mongostat






    此时数据库可在localhost上随意连接并使用,无需用户名与认证机制。



    2.
    开启mongodb的远程连接
    编辑mongod.conf文件
    net:
      # bindIp: 127.0.0.1  # Listen to local interface only, comment to listen on all interfaces.

    给binIp这行加上注释,然后重启mongodb,此时可以从任何地方使用ip地址访问数据库 如 100.161.10.299:27017



    3. mongodb开启认证,创建数据库用户并分配角色,然后使用用户名密码登录

    1.使用ssh登录远程服务器 (windows本机则直接打开本地命令行)

    2.使用mongo shell 创建用户
    输入 mongo 进入mongo shell

    use admin;

    db.createUser({user:"xx",pwd:"xxpwd",roles:["dbAdminAnyDatabase","readWriteAnyDatabase","root"]});

    3.启用mongo 的认证机制
    编辑 mongod.conf文件:
    追加上
    security:
        authorization: "enabled"

    重启mongo服务

    参考:
    配置文件的配置项:
    https://docs.mongodb.com/master/reference/configuration-options/#security-options

    此时连接mongodb需要用用户名密码登录并验证,
    然后再为特定的库创建该库的用户登录并登录

    mongo //进入mongo 命令行

    connect("mongodb://xx:xxpwd@localhost:27017/admin"); //使用指定的用户连接
    use admin; //指定使用的数据库
    db.auth(xx,xxpwd); // 进行auth 注意:没认证前没有资格操作任何数据库,auth成功返回1,失败返回0

    use pca; // 指定要创建用户的数据库
    db.createUser({user:"xx1",pwd:"xx1pwd",roles:[{role: "userAdmin", db: "pca"},{role: "readWrite", db: "pca"},{role: "dbAdmin",db: "pca"}]}); //为pca数据库 创建用户


    完毕 此时可以使用

    xx1 xx1pwd 登录并操作pca数据库


    4.注意此时可能服务器由于防火墙不开发27017端口而远程连接失败

    防火墙开放27017端口:
    iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 27017 -j ACCEPT


  • 相关阅读:
    吴裕雄--天生自然Django框架开发笔记--Django 路由
    吴裕雄--天生自然Django框架开发笔记--Django 视图
    吴裕雄--天生自然Django框架开发笔记--Django 表单
    吴裕雄--天生自然Django框架开发笔记--Django 模型
    Redis07——Redis到底能用在什么地方(下)
    Redis06——Redis到底能用在什么地方(上)
    Redis05——Redis Cluster 如何实现分布式集群
    Redis04——五分钟明白Redis的哨兵模式
    Redis03——Redis是如何删除你的数据的
    Redis02——Redis内存数据如何保存到磁盘
  • 原文地址:https://www.cnblogs.com/isdom/p/webclips070.html
Copyright © 2020-2023  润新知