关于mongo远程登录问题

首先不得不说一下,现在的抄袭问题是真的太多了,由于本人mongo设置了帐号密码,导致远程登录一直在报错,然后百度了半天,发现的都是同一个版本,几乎都是一模一样抄的,瞬间就无语,所以只能一个人瞎折腾,首先先说一下,原生PHP 如何远程登录mongo

1.首先在Mongo的conf配置中bind_ip 设置为0.0.0.0 这样远程登录第一步完成了,若不设置密码,那本地连接就能登录了。

2.将配置中的auth=true 打开,这样就能开启帐号密码验证了。下图就是我得配置


3.进入mongo中创建帐号,首先就是先确定好自己用的是那张表,比如:我自己建了一个表:young.那我就使用young表,

use young  然后开始创建帐号密码,

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

这句话意思就是:在young表创建一个帐号为root ,密码为root的帐号,该帐号只允许访问young表。

接着就是开始设置权限。

db.grantRolesToUser( "root" , [ { role: "dbOwner", db: "young" } ])

给帐号root 在young表中设置所有权限。

设置完成后,退出,重启一下mongo.接下来就是开始PHP连接mongo了。

下面贴两个版本,一个是Laravel 的设置,一个贴原生PHP7.2 版本得设置以及操作


原生PHP7.2连接mongo


laravel 中的配置

执行mongo语句


执行语句

其中collection中的是表中的集合.

由于我提前创建了数据,因此可以查看到数据


得到的数据

相信看完了以后,大致的流程应该明白了。整个流程一句一句手码的,绝非抄袭。也不会和百度上那样说的连他自己都不知道。有问题可以+QQ:601902897 

你可能感兴趣的:(关于mongo远程登录问题)