宝塔面板配置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"]})

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

4-创建数据库

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

5-连接数据库

数据库链接格式为:

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

mongodb://user:123123@127.0.0.1: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)

posted @ 2023-11-05 23:51  前端cry  阅读(2424)  评论(0编辑  收藏  举报