`
hudeyong926
  • 浏览: 2035286 次
  • 来自: 武汉
社区版块
存档分类
最新评论

MongoDB 远程连接 权限

 
阅读更多

这时装好以后应该会自动运行mongod程序,通过"pgrep mongo -l "查看进程是否已经启动

mongodb远程连接配配置,分以下4步。

1,添加管理员账号

$ mongo
> use admin
switched to db admin
> db.addUser('tank','test');
#version 3.3
> db.createUser({user:'admin', pwd:'0rb!t', roles:[{ role: "userAdminAnyDatabase", db: "admin" }] });
db.createUser({user:"admin",pwd:"password",roles:["root"]})

 roles:指定用户的角色,可以用一个空数组给新用户设定空角色;在roles字段,可以指定内置角色和用户定义的角色。role里的角色可以选:

  1. 数据库用户角色:read、readWrite;
  2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
  3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
  4. 备份恢复角色:backup、restore;
  5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
  6. 超级用户角色:root  //这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
  7. 内部角色:__system

2开启动用户权限认证

vim /etc/mongodb.conf
#bind_ip = 127.0.0.1     //注释此行
auth = true              //将此行前的注释去掉

 3,重启mongodb

/etc/init.d/mongodb restart  

 验证账号:

use admin
db.auth("admin", "0rb!t")

4,防火墙开放27017端口开放

iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 27017 -j ACCEPT  

MongoDB的可视化工具 Robomongo 是开源,免费的MongoDB管理工具

 

php客户端连接

 

插入

<?php
//链接mongodb
$manager = new MongoDB\Driver\Manager('mongodb://root:0rb!t@192.168.96.137:27017');

$bulk = new MongoDB\Driver\BulkWrite; //默认是有序的,串行执行
$bulk->insert([ 'user_id' => 2, 'real_name' => '中国' ]);
$bulk->insert([ 'user_id' => 3, 'real_name' => '中国人' ]);
$manager->executeBulkWrite('admin.box', $bulk); //执行写入admin数据库下的box集合

 查询

<?php
//链接mongodb
$manager = new MongoDB\Driver\Manager('mongodb://root:0rb!t@192.168.96.137:27017');

//查询
$filter  = [ 'user_id' => [ '$gt' => 0 ] ]; //查询条件 user_id大于0
$options = [
    'projection' => [ '_id' => 0 ], //不输出_id字段
    'sort'       => [ 'user_id' => -1 ] //根据user_id字段排序 1是升序,-1是降序
];
$query   = new MongoDB\Driver\Query($filter, $options); //查询请求
$list    = $manager->executeQuery('admin.box', $query); // 执行查询 location数据库下的box集合

echo "<pre>";
foreach ($list as $document) {
    print_r($document);
}

 修改

<?php

$manager = new MongoDB\Driver\Manager('mongodb://root:0rb!t@192.168.96.137:27017');

$bulk = new MongoDB\Driver\BulkWrite; //默认是有序的,串行执行
//$bulk = new MongoDB\Driver\BulkWrite(['ordered' => flase]);//如果要改成无序操作则加flase,并行执行
$bulk->update(
    [ 'user_id' => 2 ],
    [ '$set' => [ 'real_name' => '中国国' ]
    ]);
//$set相当于mysql的 set,这里和mysql有两个不同的地方,
//1:字段不存在会添加一个字段;
//2:mongodb默认如果条件不成立,新增加数据,相当于insert


//如果条件不存在不新增加,可以通过设置upsert
//db.collectionName.update(query, obj, upsert, multi);

$bulk->update(
    [ 'user_id' => 5 ],
    [
        '$set' => [ 'fff' => '中国国' ]
    ],
    [ 'multi' => true, 'upsert' => false ]
//multi为true,则满足条件的全部修改,默认为true,如果改为false,则只修改满足条件的第一条
//upsert为 treu:表示不存在就新增
);
$manager->executeBulkWrite('admin.box', $bulk); 

 删除

<?php

$manager = new MongoDB\Driver\Manager('mongodb://root:0rb!t@192.168.96.137:27017');

$bulk = new MongoDB\Driver\BulkWrite; //默认是有序的,串行执行
$bulk->delete([ 'user_id' => 5 ]);//删除user_id为5的字段
$manager->executeBulkWrite('admin.box', $bulk);

 

  • 大小: 34.7 KB
  • 大小: 10.3 KB
分享到:
评论

相关推荐

    MongoDB设置访问权限、设置用户

    本文将详细介绍如何在MongoDB中设置访问权限以及创建用户。 一、安装MongoDB 在开始设置权限和用户之前,你需要先在服务器上安装MongoDB。根据你的操作系统(如Linux、Windows或macOS),可以去MongoDB官网下载相应...

    mongodb 实现远程连接

    在 MongoDB 中,为了进行远程连接,首先需要创建一个具有管理员权限的用户。在 MongoDB 的 `admin` 数据库中执行以下命令: ```shell use admin switched to db admin db.addUser('tank', 'test') ``` 这会创建一个...

    MongoDB远程访问配置步骤详解

    本文将深入讲解MongoDB远程访问配置的详细步骤。 1. **配置MongoDB监听所有IP** 要使MongoDB能够接受来自远程主机的连接,首先需要修改MongoDB的配置文件。默认情况下,MongoDB只监听本地IP(127.0.0.1),这意味...

    Studio 3T for Mongodb

    通过这款工具,你可以快速连接到本地或远程的MongoDB服务器,无论你是在开发环境中还是在生产环境中工作,都能享受到其带来的便利。 首先,让我们来看看 Studio 3T 的核心特性: 1. **可视化数据库管理**:Studio ...

    mongodb windows客户端-免安装版

    1. 数据库连接:能够创建和管理多个MongoDB服务器的连接,包括本地和远程实例。 2. 图形化界面:通过直观的GUI(图形用户界面)展示数据库结构,使数据浏览和管理更为轻松。 3. 查询构建器:提供易于使用的界面来...

    win7-mongoDB可视化工具-robomongo

    2. **实时连接**:能实时连接到MongoDB服务器,查看数据库结构、集合、文档等。 3. **数据操作**:支持CRUD(创建、读取、更新、删除)操作,方便地进行数据的添加、修改和删除。 4. **查询构建器**:提供直观的查询...

    MongoDB 3.0+安全权限访问控制详解

    如果你的MongoDB部署在远程服务器上,可以添加`--host`参数指定服务器地址。 3. **创建用户管理员** 在MongoDB中,用户管理员具有在任何数据库上创建和管理用户的权限。使用`use admin`切换到admin数据库,然后...

    mongodb Windows7 64位

    - 网络安全:通过修改配置文件中的`bindIp`参数,限制MongoDB只监听特定的IP地址或接口,防止未授权的远程访问。 5. **备份与恢复** - 备份:MongoDB提供了`mongodump`工具,可以将数据库备份为JSON或BSON格式的...

    mongodb 3.4下远程连接认证失败的解决方法

    在MongoDB 3.4版本中,远程连接时认证失败是数据库管理员和开发者经常会遇到的问题。该问题可能是由于多种原因导致的,比如认证机制的设置、用户权限的配置等。为了解决MongoDB 3.4下远程连接认证失败的问题,我们...

    MongoDB(一)的安装与启动 yum安装 linux(版本 CentOS 7.0).pdf

    现在,你可以使用`mongosh`或其他MongoDB客户端通过指定的IP地址和端口(如`mongodb://192.168.0.5:9999/shipsmo`)远程连接到MongoDB服务器了。 以上是MongoDB在CentOS 7.0上通过YUM安装、启动、管理及远程连接的...

    MongoDB数据库安全配置规范

    - 默认情况下,MongoDB安装后没有任何权限验证措施,这意味着任何用户都可以对数据库执行任意操作,并且可以从远程位置访问数据库。 - 如果需要启用权限验证,必须在启动MongoDB时使用`--auth`参数。 2. **admin...

    mongodb安装文件

    7. **设置安全策略**:默认情况下,MongoDB允许远程连接,但出于安全性考虑,建议在生产环境中配置防火墙规则或启用身份验证。可以使用`--bind_ip`参数限制监听IP,或者通过`--auth`启动带认证的MongoDB实例。 8. *...

    MongoDB数据库管理工具

    1. 连接管理:MongoVUE可以连接到本地或远程的MongoDB服务器,支持多实例管理,方便切换不同的数据库环境。 2. 数据浏览:提供可视化界面展示数据库中的集合和文档,便于查看和理解数据结构。 3. 文档操作:支持...

    mongodb分片集群增加acl

    - 注意,从MongoDB 3.0开始,如果配置服务器不指定bind-ip,它将默认绑定到本地地址(***.*.*.*),这将导致无法远程连接,所以在配置时必须指定实际的IP地址。 - 另外,从MongoDB 3.0版本起,启动配置服务器时还...

    MongoDB创建用户并设置权限[借鉴].pdf

    或远程访问,但需要确保防火墙配置允许远程连接,并且MongoDB配置文件中的`bind_ip`设置正确。 MongoDB还提供了多种内置角色,如`read`、`readWrite`、`dbAdmin`、`userAdmin`、`clusterAdmin`等,它们分别对应...

    MongoDB tools.rar

    1. **连接管理**:Robo 3T允许用户创建、编辑和管理多个MongoDB服务器连接,支持SSH隧道,确保远程访问的安全性。 2. **数据库和集合浏览**:提供清晰的视图来查看数据库中的所有集合,以及每个集合中的文档结构和...

    MongoDB windows64位安装包

    6. **安全性**:MongoDB默认允许远程访问,为了安全起见,应该配置防火墙规则或修改配置文件,限制只接受本地连接。同时,应启用身份验证并创建管理员用户,以防止未经授权的访问。 7. **副本集与分片**:在生产...

    mongoDB 桌面管理工具

    1. 数据库连接:它允许用户创建和管理多个MongoDB服务器的连接,无论是本地还是远程。用户可以输入服务器地址、端口号、数据库名以及认证信息,轻松建立连接。 2. 数据浏览:工具提供了一个清晰的界面来展示数据库...

    mongodb-linux包下载

    打开新的终端窗口,尝试连接到MongoDB shell: ``` mongo ``` 如果一切顺利,你应该能看到MongoDB的欢迎信息。 7. 设置安全措施: 在生产环境中,强烈建议设置访问控制和身份验证。你可以通过`auth`参数开启身份...

Global site tag (gtag.js) - Google Analytics