宝塔面板 安装MongoDB + 指定数据库的用户登录权限

2024-03-07  本文已影响0人  superSK

1.安装和配置MongoDB

点击安装按钮,它会启动终端自动去安装,安装完成后,你在软件商店再次搜索MongoDB,上图第3的位置,出现设置按钮,点击进入设置:

1.版本切换-->下拉选择安装版本,推荐新版本

2. 开放27017端口 ,它是mongdb数据库默认端口

第一步:在购买的服务器中安全/防火墙中开启 ,我这里购买的腾讯云,在防火墙中开放此端口

第二步:宝塔中开放27017端口

3.改远程连接数据库端口,改成0.0.0.0后,本地开发工具中方可通过  mongodb://公网IP:27017  连接上数据库。

2.创建指定数据库

有非常简单的三种方式:

方法一:

如果安全认证打开,则会出现输入用户名和密码的弹窗,否则就只需要输入数据库名即可。

注:此处的用户名和密码是后续连接此数据库的账号密码,在本地开发工具中连接此数据库时使用。

方法二:宝塔面板-->软件商店-->找到安装的MongoDB --> 点击设置 --> 选择数据库 --> 输入要创建的数据库名 --> 确定

注:这里不管安全认证开启与否都不需要输入用户名和密码,即数据库初始化是不需要权限校验的

方法三:在MongoDB Compass 可视化工具中创建,包括添加指定数据库的登录权限

先连接这个远程数据库,在URI中输入 mongodb://公网IP:27017,27017是mongodb默认连接端口,如果修改了此端口,改成对应的即可。

注:如果没有下载这个可视化工具的,参考我的上一篇文章去下载:

https://www.jianshu.com/p/fa6d953fefb8

3.给指定数据库添加用户权限

在这个可视化工具下面有一个shell输入框,当你连接上这个工具后,它会出现在最下面:

运行以下命令:

查看所有数据库    

show dbs

选择数据库

执行:use xxx

admin数据库下  创建管理员账号  

执行:use admin

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

admin数据库下  创建root账号 

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

进入自己指定的数据库,创建自己数据库的管理角色

执行:use xxx (指定数据库)

执行:db.createUser({user: "用户名",pwd: "密码",roles: [ { role: "dbOwner", db: "指定数据库" } ]})

验证用户

use xxx(指定的数据库)

执行:db.auth('用户名','密码')

数据库设置权限后,在本地开发工具中访问此数据库就需要在连接的时候带上账号和密码:

访问格式:mongodb://用户名:密码@公网IP://27017//访问的数据库?authSource=具有用户凭据的集合的数据库的名称,这里的用户名+密码会从此数据库中查找,一般是admin数据库和访问的数据库

如果连接失败则会在控制台提示权限校验失败。失败原因用户名、密码、authSource指定的数据库 有一个不正确。

wo
上一篇 下一篇

猜你喜欢

热点阅读