这时装好以后应该会自动运行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里的角色可以选:
- 数据库用户角色:read、readWrite;
- 数据库管理角色:dbAdmin、dbOwner、userAdmin;
- 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
- 备份恢复角色:backup、restore;
- 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
- 超级用户角色:root //这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
- 内部角色:__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);
相关推荐
本文将详细介绍如何在MongoDB中设置访问权限以及创建用户。 一、安装MongoDB 在开始设置权限和用户之前,你需要先在服务器上安装MongoDB。根据你的操作系统(如Linux、Windows或macOS),可以去MongoDB官网下载相应...
在 MongoDB 中,为了进行远程连接,首先需要创建一个具有管理员权限的用户。在 MongoDB 的 `admin` 数据库中执行以下命令: ```shell use admin switched to db admin db.addUser('tank', 'test') ``` 这会创建一个...
本文将深入讲解MongoDB远程访问配置的详细步骤。 1. **配置MongoDB监听所有IP** 要使MongoDB能够接受来自远程主机的连接,首先需要修改MongoDB的配置文件。默认情况下,MongoDB只监听本地IP(127.0.0.1),这意味...
通过这款工具,你可以快速连接到本地或远程的MongoDB服务器,无论你是在开发环境中还是在生产环境中工作,都能享受到其带来的便利。 首先,让我们来看看 Studio 3T 的核心特性: 1. **可视化数据库管理**:Studio ...
1. 数据库连接:能够创建和管理多个MongoDB服务器的连接,包括本地和远程实例。 2. 图形化界面:通过直观的GUI(图形用户界面)展示数据库结构,使数据浏览和管理更为轻松。 3. 查询构建器:提供易于使用的界面来...
2. **实时连接**:能实时连接到MongoDB服务器,查看数据库结构、集合、文档等。 3. **数据操作**:支持CRUD(创建、读取、更新、删除)操作,方便地进行数据的添加、修改和删除。 4. **查询构建器**:提供直观的查询...
如果你的MongoDB部署在远程服务器上,可以添加`--host`参数指定服务器地址。 3. **创建用户管理员** 在MongoDB中,用户管理员具有在任何数据库上创建和管理用户的权限。使用`use admin`切换到admin数据库,然后...
- 网络安全:通过修改配置文件中的`bindIp`参数,限制MongoDB只监听特定的IP地址或接口,防止未授权的远程访问。 5. **备份与恢复** - 备份:MongoDB提供了`mongodump`工具,可以将数据库备份为JSON或BSON格式的...
在MongoDB 3.4版本中,远程连接时认证失败是数据库管理员和开发者经常会遇到的问题。该问题可能是由于多种原因导致的,比如认证机制的设置、用户权限的配置等。为了解决MongoDB 3.4下远程连接认证失败的问题,我们...
现在,你可以使用`mongosh`或其他MongoDB客户端通过指定的IP地址和端口(如`mongodb://192.168.0.5:9999/shipsmo`)远程连接到MongoDB服务器了。 以上是MongoDB在CentOS 7.0上通过YUM安装、启动、管理及远程连接的...
- 默认情况下,MongoDB安装后没有任何权限验证措施,这意味着任何用户都可以对数据库执行任意操作,并且可以从远程位置访问数据库。 - 如果需要启用权限验证,必须在启动MongoDB时使用`--auth`参数。 2. **admin...
7. **设置安全策略**:默认情况下,MongoDB允许远程连接,但出于安全性考虑,建议在生产环境中配置防火墙规则或启用身份验证。可以使用`--bind_ip`参数限制监听IP,或者通过`--auth`启动带认证的MongoDB实例。 8. *...
1. 连接管理:MongoVUE可以连接到本地或远程的MongoDB服务器,支持多实例管理,方便切换不同的数据库环境。 2. 数据浏览:提供可视化界面展示数据库中的集合和文档,便于查看和理解数据结构。 3. 文档操作:支持...
- 注意,从MongoDB 3.0开始,如果配置服务器不指定bind-ip,它将默认绑定到本地地址(***.*.*.*),这将导致无法远程连接,所以在配置时必须指定实际的IP地址。 - 另外,从MongoDB 3.0版本起,启动配置服务器时还...
或远程访问,但需要确保防火墙配置允许远程连接,并且MongoDB配置文件中的`bind_ip`设置正确。 MongoDB还提供了多种内置角色,如`read`、`readWrite`、`dbAdmin`、`userAdmin`、`clusterAdmin`等,它们分别对应...
1. **连接管理**:Robo 3T允许用户创建、编辑和管理多个MongoDB服务器连接,支持SSH隧道,确保远程访问的安全性。 2. **数据库和集合浏览**:提供清晰的视图来查看数据库中的所有集合,以及每个集合中的文档结构和...
6. **安全性**:MongoDB默认允许远程访问,为了安全起见,应该配置防火墙规则或修改配置文件,限制只接受本地连接。同时,应启用身份验证并创建管理员用户,以防止未经授权的访问。 7. **副本集与分片**:在生产...
1. 数据库连接:它允许用户创建和管理多个MongoDB服务器的连接,无论是本地还是远程。用户可以输入服务器地址、端口号、数据库名以及认证信息,轻松建立连接。 2. 数据浏览:工具提供了一个清晰的界面来展示数据库...
打开新的终端窗口,尝试连接到MongoDB shell: ``` mongo ``` 如果一切顺利,你应该能看到MongoDB的欢迎信息。 7. 设置安全措施: 在生产环境中,强烈建议设置访问控制和身份验证。你可以通过`auth`参数开启身份...