当前位置首页 > 注册机> 正文

2008注册机打不开没有权限 mongodb权限设置中添加管理员和普通用户的方法

2022-05-05 09:12:47 暂无评论 注册机

我知道的关系型数据库都有权限控制,哪些用户可以访问哪些库,哪些表,哪些用户可以插入和更新2008注册机打不开没有权限,有的用户只有读权限。

比如:mysql安装配置好后,有一个内置的mysql数据库2008注册机打不开没有权限,里面有一个user表来存储用户和用户权限,而这个最关系型的数据库,有没有这样的表呢?

一、掌握权限,理解以下4项基本一致

1、没有默认管理员账号,需要先添加管理员账号,然后开启权限认证。

2、切换到admin数据库2008注册机打不开没有权限,添加的账号就是管理员账号。

3、用户只能登录用户所在的数据库,包括管理员账号。

4、管理员可以管理所有数据库,但不能直接管理其他数据库。它们只能在 admin 数据库中进行身份验证。这很奇怪

二、添加管理员帐号

复制代码代码如下:

[root@test]# mongo

外壳:2.4.6

到:坦克

> use admin //切换到admin数据库

到数据库管理员

> 显示;

.

2008注册机打不开没有权限

.users //用户表

> db..users.find(); //用户表没有数据

> db.('tank','test'); //添加管理员帐号

{

“用户”:“”,

“”:假,

“密码”:“”,

“_id”:(“3429”)

}

三、启用用户授权认证

复制代码代码如下:

[root@test]# vim /etc/.conf //去掉auth=true之前的注释

[root@test]# /etc/init.d/ //重启生效

四、用户只能登录用户所在的数据库,管理员需要通过admin认证才能管理其他数据库

复制代码代码如下:

[root@test]# mongo

2008注册机打不开没有权限

外壳:2.4.6

到:坦克

> 显示数据库; // 因为没有认证,所以无法显示所有数据库

12 月 4 日星期三 06:39:50.925 :{ "ok" : 0, "" : "" } at src/mongo/shell/mongo.js:46

> db.auth('tank','test'); //认证失败,因为用户不属于tank数据库

错误:18 {代码:18,正常:0.0,:“身份验证失败”}

> use admin //切换到admin数据库

到数据库管理员

> db.auth('tank','test'); //在admin数据库中认证成功

1

> 使用坦克; //切换到tank数据库

到数据库坦克

> 显示; //不再提示权限

.

用户

五、添加普通用户

2008注册机打不开没有权限

复制代码代码如下:

> 使用坦克;

到数据库坦克

> db.('tank1','test'); //在tank数据库中添加一个可读写的用户tank1

{

"_id" : ("70f3"),

“用户”:“坦克1”,

“”:假,

“密码”:“”

}

> db.('tank2','test',true); //增加一个只读用户tank2到tank数据库

{

“用户”:“坦克2”,

“”:是的,

“密码”:“”,

“_id”:(“e315”)

2008注册机打不开没有权限

}

> 退出 //退出

再见

[root@]# mongo

外壳:2.4.6

到:坦克

> db.auth('tank1','test'); //刚刚添加的用户可以登录了。

1

六、php 客户端连接

1、推荐方法一

复制代码代码如下:

$mongo = new Mongo();

$db = $mongo->('坦克'); //切换到tank数据库

$db->("tank3", "test"); //认证

$users= $db->("users"); //选择用户表

$ = $users->find(); //读取数据

2008注册机打不开没有权限

($ as $id => $value) {

echo "$id:"; ($价值);回声“

";

}[代码]

这种方法简单易懂,root命令行下的操作过程类似。

2、推荐方法二

复制代码代码如下:

$mongo = new Mongo("://tank3:test@127.0.0.1:27017/tank"); //认证用户,这里的数据库,只启用认证

$db = $mongo->('坦克'); //选择数据库

$users= $db->("users");

$ = $users->find();

($ as $id => $value) {

echo "$id:"; ($价值);回声“

";

}

上述两种方式的区别在于,一种是先选择数据库进行认证,另一种是先选择数据库进行认证。

版权保护: 本文由 8BDU软件分享博客-8BDU软件园 原创,转载请保留链接: /zhuceji/591.html

猜你喜欢

博客主人倒杯水
男,单身,无聊上班族,闲着没事喜欢研究代码,密集恐怖深度患者,资深技术宅。
  • 5435 文章总数
  • 135630访问次数
  • 2782建站天数
  • 标签