【mongoDB】mongoDB创建业务库、用户并授权

【mongoDB】mongoDB创建业务库、用户并授权,第1张

1. 以超级管理员身份(root@admin)登陆mongoDB other实例。

$ mongo  --port  27017  -u "root"  -p "Mongo@123"  --authenticationDatabase  admin

2. 没有testDB库,use testDB 会自动建库

>use testDB

3. 在 testDB库里建一个 testUsert业务用户(testUser@testDB),并授权

##########################

>db.createUser(

{

user : "testUser",

pwd : "Mongo@123",

roles: [ { role : "readWrite", db : "testDB" } ,

        { role : "dbAdmin", db : "testDB" } ,

{ role : "userAdmin", db : "testDB" } 

  ]

}

)

##########################

类似MySQL:  grant all  privileges  on  testDB.*  to testUser  identified by  "Mongo@123"

4. 退出 mongoDB shell

>exit

5. 测试走 testDB  认证库,登陆后只能在自己的库 testDB 里读写

$ mongo  --port  27017

>use testDB

>db.auth("testUser","Mongo@123")

测试数据写/读

>db.testTable.insert({"name":"Bogon"})

>db.testTable.find()

删除测试数据

>db.testTable.drop()

客户端工程jdbc连接字符串:

spring.data.mongodb.uri=mongodb://${username}:${password}@${xx.xx.xx.xx:27017,xx.xx.xx.xx:27017,xx.xx.xx.xx:27017}/testDB?authSource=testDB&authMechanism=SCRAM-SHA-1

注意:认证库 authSource 是此时的业务库  testDB,不是admin

如果还需其他选项,请参考MongoDB官方文档

MongoDB Manual/Connection String URI Format

https://www.mongodb.com/docs/manual/reference/connection-string/#connections-connection-options

在计算机图标上右击,选择“属性”;

2

点击页面左侧“高级系统设置”,在d出窗口中选择“高级”选项卡;

3

在页面底部点击“环境变量”;

4

在系统变量中找到“Path”变量,选中后双击,并在变量最后添加bin文件所在的文件路径:

5

添加完成后,一直确认,关闭d出窗口。

END

开始启动MongoDB数据库

MongoDB在数据库启用之前,需要先建立一个文件夹(数据目录),用于存储这个数据库运行中的所有数据。文件夹路径:E:\MongoDBData;

在命令行工具中,执行以后代码,即可启动数据库:mongod --dbpath E:\MongoDBData。

1、基于mongo实现远程连接

[plain] view plaincopy

mongo -u admin -p admin 192.168.0.197:27017/pagedb

通过mongo实现连接,可以非常灵活的选择参数选项,参看命令帮助,如下所示:

[plain] view plaincopy

mongo --help

MongoDB shell version: 1.8.3

usage: mongo [options] [db address] [file names (ending in .js)]

db address can be:

foo foo database on local machine

192.169.0.5/foo foo database on 192.168.0.5 machine

192.169.0.5:9999/foo foo database on 192.168.0.5 machine on port 9999

options:

--shell run the shell after executing files

--nodbdon't connect to mongod on startup - no 'db address'

arg expected

--quiet be less chatty

--port argport to connect to

--host argserver to connect to

--eval argevaluate javascript

-u [ --username ] arg username for authentication

-p [ --password ] arg password for authentication

-h [ --help ] show this usage information

--version show version information

--verbose increase verbosity

--ipv6enable IPv6 support (disabled by default)

2、基于MongoDB支持的javascript实现远程连接

当你已经连接到一个远程的MongoDB数据库服务器(例如,通过mongo连接到192.168.0.184),现在想要在这个会话中连接另一个远程的数据库服务器(192.168.0.197),可以执行如下命令:

[plain] view plaincopy

>var x = new Mongo('192.168.0.197:27017')

>var ydb = x.getDB('pagedb')

>use ydb

switched to db ydb

>db

ydb

>ydb.page.findOne()

{

"_id" : ObjectId("4eded6a5bf3bfa0014000003"),

"content" : "巴黎是浪漫的城市,可是...",

"pubdate" : "2006-03-19",

"title" : "巴黎:从布鲁塞尔赶到巴黎",

"url" : "http://france.bytravel.cn/Scenery/528/cblsegdbl.html"

}

上述通过MongoDB提供的JavaScript脚本,实现对另一个远程数据库服务器进行连接, *** 作指定数据库pagedb的page集合。

如果启用了安全认证模式,可以在获取数据库连接实例时,指定认证账号,例如:

[plain] view plaincopy

>var x = new Mongo('192.168.0.197:27017')

>var ydb = x.getDB('pagedb', 'shirdrn', '(jkfFS$343$_\=\,.F@3')

>use ydb

switched to db ydb


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

原文地址: http://outofmemory.cn/sjk/9976891.html

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

发表评论

登录后才能评论

评论列表(0条)

保存