MongoDB添加用户认证

MongoDB添加用户认证,第1张

安装版本: db version v4.2.6

MongoDB默认安装并没有开启用户名密码登录,这样太不安全。首先开启一个无需验证用户的MongoDB服务后,进入MongoDB的shell控制台创建用户:

创建用户后,关闭连接,进入正题:

安装路径: D:PROGRA~1\MongoDB\Server\4.2\bin\

配置文件中添加 authorization 项 ,配置文件地址如下,没有可创建 D:PROGRA~1\MongoDB\Server\4.2\bin\mongod.cfg

配置文件内容如下:

配置好之后注册服务:

启动服务:

net start MongoDB

遇到的问题:

Error1:

F CONTROL [main] Failed global initialization: BadValue: dbPath requires an absolute file path with Windows services

Error2:

Error parsing YAML config file: yaml-cpp: error at line 2

以上都是配置文件配置问题,注意文件中不要出现单引号,双引号之类的;

配置项每层缩进都是4个空格,不要用tab缩进

Error3:

控制台显示服务未注册

这个一般是注册服务的命令有引号错误或者路径错误,检查有没有少斜线。正常的注册完服务并启动时,会显示服务已开启。

新开窗口进入mongodb的shell控制台验证:

参考链接:

Mongodb学习(4)通过配置文件启动mongod

windows系统,MongoDB开启用户验证

解决“Error parsing YAML

权限认证已ok

想在shell中连接数据库,首先要在连接数据的机器上安装mongodb的客户端才可以。客户端的安装在这里不再重复,自己百度或者google一下吧。连接mongodb的命令如下:

/home/test/mongodb/mongodb-2.2.3/bin/mongo 127.0.0.1:8888

这个是我的数据库配置,没有设置用户名密码。所以直接通过该命令就可以连接。

连结后会有一个默认连接的数据库。

mongodb常用命令:

查看数据库命令:

show dbs

查看集合命令:

show collections

切换数据库:

use databaseName

查询数据:

db.集合名.find()

插入数据:

db.集合名.insert({name:'test',age:1})

删除:

db.test.remove()

sql="db.test.insert({name:'test',age:1})"//定义执行的sqlecho "$sql"|/home/test/mongodb/mongodb-2.2.3/bin/mongo 127.0.0.1:8888/test --shell

注意,echo命令中的格式必须这样写,管线命令后面的是是数据库安装地址 然后是ip:端口号,斜线后是数据库名称,--shell表示通过shell交互!


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/bake/8011815.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-12
下一篇2023-04-12

发表评论

登录后才能评论

评论列表(0条)

    保存