Skip to content
Spotify - 每月低于 10 元

Linux 安装 MongoDB 并配置外部访问

安装 MongoDB

  1. 导入 MongoDB 公共 GPG 密钥
sh
curl -fsSL https://pgp.mongodb.com/server-7.0.asc | \
   sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg \
   --dearmor
  1. 创建列表文件
sh
echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] http://repo.mongodb.org/apt/debian bookworm/mongodb-org/7.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
  1. 重新加载本地包数据库
sh
apt-get update
  1. 安装 MongoDB
sh
apt-get install -y mongodb-org

启用用户验证

  1. 编辑 mongod.conf 文件
sh
vim /etc/mongod.conf
  1. 修改其中的 bindIpauthorization
net:
  port: 27017
  bindIp: 0.0.0.0
  
security:
  authorization: enabled
  1. 重启 MongoDB 服务,开放27017端口

添加管理员用户

  1. 使用 mongosh 进入 MongoDB 命令行工具
  2. 进入 admin 数据库
js
use admin
  1. 配置管理员密码与权限
js
db.createUser({user: '<username>', pwd: '<password>', roles: ['root']})
  1. 身份验证(返回 1 表示验证成功, 如果是 0 表示验证失败。)
js
db.auth('root', 'YourPassword')

添加普通用户

  1. 显示数据库
js
show dbs
  1. 选择数据库
js
use <database_name>
  1. 给该数据库添加用户
js
db.createUser({user: '<username>', pwd: '<password>', roles: [{role: 'dbOwner', db: '<database_name>'}]})

删除普通用户

  1. 显示数据库
js
show dbs
  1. 选择数据库
js
use <database_name>
  1. 显示用户
js
show users
  1. 删除用户
js
db.dropUser('<username>')

常见错误

/tmp/mongodb-27017.sock

MongoDB 进程没有权限删除或修改该套接字文件,错误信息如下:

sh
{"t":{"$date":"2024-07-30T10:25:37.033+08:00"},"s":"E",  "c":"NETWORK",  "id":23024,   "ctx":"initandlisten","msg":"Failed to unlink socket file","attr":{"path":"/tmp/mongodb-27017.sock","error":"Operation not permitted"}}

解决方法: 删除该文件 rm /tmp/mongodb-27017.sock ,然后重启 MongoDB systemctl restart mongod

关注微信公众号搬瓦工 - 美国 CN2 优化线路
你认为这篇文章怎么样?
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0

预览:

评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v3.1.3