当前位置: 首页 >  技术宝典 >  宝塔面板配置MongoDB数据库

宝塔面板配置MongoDB数据库

导读:1-安装MongoDB.在面板中的【软件商店】搜索MongoDB并安装,推荐下载4.x以上的版本(可视化工具MongoDB Compass对高版本兼容比较好) 。.下载完成后,可以点击【设置】,【版本切换】,对MongoDB版本进行切换。.2-配置.(1) mongodb配置.在

1-安装MongoDB

在面板中的【软件商店】搜索MongoDB并安装,推荐下载4.x以上的版本(可视化工具MongoDB Compass对高版本兼容比较好)

下载完成后,可以点击【设置】,【版本切换】,对MongoDB版本进行切换。

2-配置

(1) mongodb配置

在【配置项中】,对 监听IP监听端口 进行配置。

  • 监听IP:由127.0.0.1设置为0.0.0.0 ,放开IP限制。
  • 监听端口:默认27017端口。可以自定义设置端口(建议5001~65535间)。注意需要在服务器安全组和宝塔面板安全组 放行 监听的端口

在【配置文件】中,根据需要选择是否启用权限验证。

  • authorization :默认disabled,如需要权限验证改为enabled(注意保留空格)

(2) 安全组放行端口

  • 宝塔面板,【安全】,放行端口

  • 云服务器,【安全组】添加规则,放行端口

3-设置MongoDB用户名与密码

打开宝塔面板【终端】。

  • 连接mongoDB

    cd /www/server/mongodb/bin mongo

  • 切换数据库

    use 数据库名称

    use test

  • 创建root角色,设置账号密码

    db.createUser({user:“root”,pwd:“123456”,roles:[“root”]})

  • 创建数据库用户角色

    db.createUser({user:“user01”,pwd:“123456”,roles:[{role:“readWrite”,db:“test”}]})

  • 验证是否添加成功

    db.auth(用户名,用户密码)

    db.auth(“user01”,“123456”)

如果设置账号密码后,出现如下错误:

Error: couldn't add user: Use of SCRAM-SHA-256 requires undigested passwords.

修改加密方式mechanismsSCRAM-SHA-1 即可解决:

# db.createUser({mechanisms:["SCRAM-SHA-1"], ...})
db.createUser({user:"user01",pwd:"123456",roles:[{role:"readWrite",db:"test"}],mechanisms:["SCRAM-SHA-1"]})

注:关于可选角色,可参考

  • db.createUser()方法的用法-CSDN博客
  • 官方文档db.createUser() — MongoDB Manual

4-创建数据库

完成上面的步骤后,就可以开始创建自己的数据库啦!

5-连接数据库

数据库链接格式为:

mongodb://用户名:密码@服务器公网id:监听端口号/数据库名?参数

mongodb://user:[email protected]:27017/test

后端项目(Nodejs)连接数据库

const host = '服务器公网IP';
const port = 27017;
const dbname = '数据库名';
const username = '数据库角色的用户名';
const pwd = '数据库角色的密码';

mongoose.connect(`mongodb://${username}:${pwd}@${host}:${port}/${dbname}`)
.then(()=>{
		console.log('连接成功辣!');
})
.catch(()=>{
		console.log('连接失败哦~');
});

如果第4步没有创建数据库,等这里后端服务部署到服务器启动后,MongoDB没有找到对应数据库的话,就会以dbname 为数据库名,自动创建一个新的数据库哦!

使用MongoDB Compass连接数据库

  • 官网安装 MongoDB Compass

MongoDB Compass Download (GUI) | MongoDB

  • 填写数据库链接,连接即可

  • 连接成功

参考文章:宝塔配置mongodb - 掘金 (juejin.cn)

内容
  • 绘画手残党的福音:涂鸦线稿秒变绝美图像
    绘画手残党的福音:涂鸦线稿秒变绝
    2023-12-08
    摘要: 涂鸦线稿秒变绝美图像,ControlNet-.Scribble2Img适配华为云ModelArts,提供更加便利
  • 线上服务器磁盘爆了,如何快速处理?
    线上服务器磁盘爆了,如何快速处理
    2023-12-08
    分享技术,用心生活.有一天突然收到预警短信,显示是服务器磁盘占用100% 心里一想这事大了,得赶紧处理啊!深一吸口气默念
  • 安全测试前置实践2-安全渗透测试
    安全测试前置实践2-安全渗透测试
    2023-12-04
    作者:京东物流 陈维.一、引言.本文我们将以围绕系统安全质量提升为目标,讲述在功能安全测试 &安全渗透测试上实践过程。.
  • 架构师日记-如何写的一手好代码
    架构师日记-如何写的一手好代码
    2023-12-06
    作者:京东零售 刘慧卿.一 前言.在日常工作中,我经常听到部分同学抱怨代码质量问题,潜台词是:“除了自己的代码,其他人写
  • 万字好文:大报文问题实战
    万字好文:大报文问题实战
    2023-12-02
    导读.大报文问题,在京东物流内较少出现,但每次出现往往是大事故,甚至导致上下游多个系统故障。大报文的背后,是不同商家业务
  • docker compose 快速安装 单机kafka版并且 持久化
    docker compose 快
    2023-12-05
    kafka 的业务场景不用多说了,耗时缓存队列,利用高吞吐以及队列模型实现 高并发情况下流量削峰,高流量的日志收集,都是