Bob's Blog

Web开发、测试框架、自动化平台、APP开发、机器学习等

返回上页首页

Centos安装mongodb并配置用户和权限



先创建文件用于yum安装mongodb community version。 'vim /etc/yum.repos.d/mongodb-org-4.2.repo',粘贴如下内容并保存:

[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc

安装并启动服务

sudo yum install -y mongodb-org

mkdir -p /var/lib/mongo
mkdir -p /var/log/mongodb

sudo service mongod start

(update 20240705: 在rocky linux里按照上述操作报错了,提示"No match for argument: mongodb-org   Error: Unable to find a match: mongodb-org", 最后发现/etc/dnf/plugins/subscription-manager.conf里有个值disable_system_repos=1,改成0保存后再次执行安装命令就能安装了。)

当前不要求身份验证,于是进入并创建管理员

mongo
use admin
db.createUser({user: "myadmin", pwd: "mypass", roles:["root"]})

在/etc/mongod.conf中添加如下内容并重启sudo service mongod restart

net:
  port: 27017
  bindIp: 0.0.0.0  # 允许其他ip访问,只允许本地访问则是127.0.0.1

security:
  authorization: enabled  # 开启身份验证

重启mongod后就需要用户登录了,否则进入后什么都看不到

mongo -u myadmin -p mypass

此时可以创建其他用户等。

use web;
db.createUser({user: "admin", pwd: "123456", roles:["dbOwner"]}) 
db.createUser({user: "user", pwd: "123456", roles: [ { role: “readWrite”, db: "web" } ]})

导出数据可以是:

mongodump -h 127.0.0.1:27017 -u admin -d dashboard -o ./   # -d是数据库, -o是路径
# or 指定uri
mongodump --uri="mongodb://admin:123456@localhost:27017/?authSource=admin&readPreference=primary" -o ./

导入数据可以是:

mongorestore -h 127.0.0.1:27017 -u admin -d dashboard --dir /path/dashboard/ --authenticationDatabase admin

也可以用mongo compass community这个软件来对每个collection导入和导出。

下一篇:  为Django配置覆盖率检查并配置在gitlab上
上一篇:  Django restframework加Vue打造前后端分离的网站(六)token和LDAP认证

共有0条评论

添加评论

暂无评论