宝塔修改配置文件启用mongodb密码验证

宝塔修改配置文件启用mongodb密码验证

## content
systemLog:
  destination: file
  logAppend: true
  path: /www/server/mongodb/log/config.log
# Where and how to store data.
storage:
  dbPath: /www/server/mongodb/data/bt_mongodb/
  directoryPerDB: true
  journal:
    enabled: true
# how the process runs
processManagement:
  fork: true
  pidFilePath: /www/server/mongodb/log/configsvr.pid 
# network interfaces
net:
  port: 27017
  bindIp: 0.0.0.0
#operationProfiling:
#replication:
#    replSetName: bt_main   
security:
#  authorization: disabled  注意此处 这个是关闭 enabled 是开启
  authorization: enabled
  javascriptEnabled: false
# 个人建议加入以下参数
setParameter:
  enableLocalhostAuthBypass: false   
#sharding:
#    clusterRole: shardsvr

1.关闭mongo的服务进程。

sudo service mongod stop 

2.修改mongo的配置文件。mongod.conf,没有就添加代码

security:  
authorization: enabled 

注意缩进啊

3.开启mongo服务

sudo service mongod start  

4.进入mongo,添加账号密码

1、切换到admin数据库

use admin  

2、创建账号

db.createUser({user:"用户名",pwd:"密码",roles:["root"]})  
二选一,执行一个指令就好了
db.createUser({ user: "useradmin", pwd: "adminpassword", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })

mongodb中的用户是基于身份role的,该管理员账户的 role是 userAdminAnyDatabase。 ‘userAdmin’代表用户管理身份,’AnyDatabase’ 代表可以管理任何数据库。
3、执行认证

db.auth("user_test","pwd_test") 

在这里插入图片描述
note: 注意是admin数据库。
新建你需要管理的mongodb 数据的账号密码。

use yourdatabase
db.createUser({ user: "youruser", pwd: "yourpassword", roles: [{ role: "dbOwner", db: "yourdatabase" }] })

rote:dbOwner 代表数据库所有者角色,拥有最高该数据库最高权限。比如新建索引等

新建数据库读写账户

use yourdatabase
db.createUser({ user: "youruser2", pwd: "yourpassword2", roles: [{ role: "readWrite", db: "yourdatabase" }] })

该用户用于该数据的读写,只拥有读写权限。

删除用户

db.dropUser(<user_name>) 删除某个用户,接受字符串参数

示例:db.dropUser(“admin”)

`db.dropAllUser()`

删除当前库的所有用户

<think>好的,我现在需要帮助用户找到在宝塔面板上安装MongoDB并完成设置的详细教程。根据用户提供的引用内容,我需要整合这些信息,并按照用户的要求结构化回答。 首先,用户提到了三个引用,其中引用[1]和[2]提到了启用JavaScript引擎和身份验证的配置,引用[3]涉及设置账号密码时可能出现的问题和解决方法。我需要将这些步骤整理成一个流程,确保每一步都清晰,并且引用正确的内容。 接下来,我需要按照用户给出的系统级指令来组织回答。用户要求使用中文,结构清晰,分步骤说明,同时生成相关问题。此外,引用的内容需要自然地添加引用标识。 首先,安装MongoDB的步骤应该在宝塔面板的软件商店中进行,用户可能不知道具体如何找到和安装,所以需要详细说明。然后配置部分,包括身份验证和JavaScript引擎的设置,这些在引用[2]中有提到,需要正确引用。设置账号密码时,用户可能会遇到问题,如引用[3]所述,需要提醒用户先关闭身份验证再进行设置,完成后再重新启用。 另外,用户可能需要配置远程连接,这部分在引用[3]中提到了SSH终端的操作,可能需要指导用户如何通过命令行创建用户和权限。最后,注意事项部分需要涵盖常见问题,比如无法进入数据库时的解决方法,引用[3]中的内容。 生成的相关问题需要围绕安装后的配置、常见错误解决以及优化措施,确保用户能够进一步了解相关主题。 现在需要检查每个步骤是否引用了正确的来源,并且流程是否合理。同时,确保使用正确的LaTeX格式,虽然用户的问题中数学公式较少,但如果有变量或代码,需要正确使用格式。最后,确保回答自然,没有使用Markdown,段落清晰。</think>### 宝塔面板安装与配置MongoDB详细流程 #### 一、安装MongoDB 1. **登录宝塔面板** 进入宝塔面板后台,导航至左侧菜单栏的“软件商店”。 2. **搜索并安装MongoDB** 在软件商店搜索框中输入“MongoDB”,找到对应数据库后点击“安装”。安装完成后,列表中会显示“已安装”状态。 #### 二、基础配置 1. **开启身份验证** 点击MongoDB右侧的“设置”按钮,进入配置文件修改界面。找到以下配置项并修改: ```yaml authorization: enabled # 强制要求客户端连接时验证身份[^2] javascriptEnabled: true # 启用JavaScript引擎,支持存储过程等逻辑编写[^1] ``` 保存后需重启MongoDB服务使配置生效。 2. **配置远程访问(可选)** 在“安全”选项卡中,添加允许连接的IP地址(默认仅限本地访问)。若需完全开放,可添加规则`0.0.0.0`,但需配合防火墙限制以保证安全[^3]。 #### 三、创建数据库与用户 1. **临时关闭身份验证(若需命令行操作)** 若通过SSH终端操作时提示权限错误,需暂时修改配置: ```yaml authorization: disabled # 临时关闭身份验证[^3] ``` 重启服务后通过`mongo`命令进入数据库环境。 2. **创建管理员用户** 在MongoDB命令行中执行: ```javascript use admin db.createUser({ user: "admin", pwd: "your_password", roles: ["root"] }) ``` 完成后重新启用身份验证并重启服务[^3]。 3. **创建应用数据库及用户** ```javascript use your_database db.createUser({ user: "app_user", pwd: "app_password", roles: [{ role: "readWrite", db: "your_database" }] }) ``` #### 四、验证连接 使用MongoDB客户端工具(如Robo 3T)输入IP、端口、用户名及密码测试连接。若成功,则配置完成。 #### 注意事项 - **配置文件冲突**:修改配置后若无法启动,检查缩进格式(YAML对缩进敏感)。 - **权限恢复问题**:通过SSH设置账号后,需确保重新启用`authorization: enabled`,否则安全风险极高。 - **防火墙设置**:开放27017端口(MongoDB默认端口)时,建议限制访问IP范围。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wojiaowudia

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值