这时装好以后应该会自动运行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,所以使用不了mongochef这样方便的远程连接工具,便Mongodb提供的java api实现的的网页版管理。 未设置登录权限相关模块,低耦合性 方便嵌入到现有的项目。
一老哥想要实现navicat远程centos7上mongodb数据库 但是,不知咋的,就是远程不了,下面贴截图 navicat远程报错信息如下图 排查了一会 有发现: 一个问题就是:mongodb.conf 配置文件 配置把 binip 给注释掉 ...
源于线上环境部署mongodb时屏蔽了外网访问mongodb,所以使用不了mongochef这样方便的远程连接工具,便Mongodb提供的java api实现的的网页版管理。未设置登录权限相关模块,低耦合性 方便嵌入到现有的项目
1.MongoDB安装时不添加任何参数,默认是没有权限验证的,登录的用户可以对数据库任意操作而且可以远程访问数据库,需以–auth参数启动。 2.在刚安装完毕的时候MongoDB都默认有一个admin数据库,此时admin数据库是空的,...
源于线上环境部署mongodb时屏蔽了外网访问mongodb,所以使用不了mongochef这样方便的远程连接工具,便Mongodb提供的java api实现的的网页版管理 未设置登录权限相关模块,低交换性方便嵌入到现有的项目 关于 电子...
EasyDev是绿色的PHP开发环境套件,内含windows版本的PHP开发组件和负载架构,未集成PHPMyAdmin,该软件在可以自行开启Mysql远程连接权限的情况下,并不方便 本软件是国内较早的PHP套件PHP Server Builder(win版、...
EasyDev是绿色的PHP开发环境套件,内含windows版本的PHP开发组件和负载架构,未集成PHPMyAdmin,该软件在可以自行开启Mysql远程连接权限的情况下,并不方便 本软件是国内较早的PHP套件PHP Server Builder(win版、...
Box运营商打算使用它来在大流行时期扩大他们的课程范围,和/或通过提供更高质量的远程教练和课程来扩展他们的收入。 技术领域 在服务器上,VBox使用Node.js和Mongo DB。 Facebook登录用于教练的身份验证。 只需通过...
远程访问您的虚拟机 请从以下位置下载腻子: : 要连接到虚拟机,请使用分配给虚拟机的DNS。 例如foo.cloudapp.net 默认用户名是azureuser ,创建虚拟机时设置了密码 如果您不熟悉Shell / Bash,请在此处查看一些...
详情参考SocketIO),下位机采集或汇总的数据并通过 WIFI 上传云端远程实时监视,也可本地连接串口与 PC 端通讯,上位机通过自定义解析数据后展示到相关订阅端(可同时同步到多个Android手机)。对于物联网初创公司...