docker部署mongo:
docker run --name mongo -p 27017:27017 -d mongo --auth
为MongoDB添加管理员用户:进入docker容器进行操作。
docker exec -it 683119ce2da5 mongo admin
683119ce2da5是你的mongo的docker容器id。
创建一个 admin 管理员账号:
db.createUser({ user: 'root', pwd: 'root', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });
创建普通用户:
使用前边创建的admin账户root登陆mongo: db.auth("root","root");
创建普通用户和数据库::
db.createUser({ user: 'dev', pwd: 'dev', roles: [ { role: "readWrite", db: "app" } ] });
重新用普通用户登陆mongo进行数据库操作:
docker exec -it 683119ce2da5 mongo admin
db.auth("dev", "dev");
切换数据库到app数据库:
use app;
show tables;是空的,然后保存一条数据后即可看到table;
查询test表中的所有数据:db.test.find()
使用的是percona的镜像:
elarasu/mongodb_exporter
对应percona官方mongo_exporter工程。
需要创建一个可以获取监控数据的用户:
db.getSiblingDB("admin").createUser({
user: "monitor",
pwd: "monitor",
roles: [
{ role: "clusterMonitor", db: "admin" },
{ role: "read", db: "local" }
]
})
参考资料:
1.https://github.com/percona/mongodb_exporter
2.https://github.com/dcu/mongodb_exporter
3.https://hub.docker.com/r/elarasu/mongodb_exporter