Centos安装mongodb并配置用户和权限
2020年1月14日 - 由Bo 0 评论 2541 阅读
先创建文件用于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导入和导出。