Docker安装MongoDB
注:此处对外暴露的端口为27019,最好不要使用27017,因为此处使用默认的端口容易被攻击(下图是本人,遭受攻击时,数据库收到的信息)
1、安装
命令:(此处未指定版本安装的默认为最新版)
docker run -d --restart=always -p 27019:27017 --name mymongo -v /home/mongodb:/data/db -d mongo
2、给mongo设置账号和密码
为MongoDB添加管理员用户
进入MongoDB
docker exec -it 51a5b5e05fe4(容器id) mongo admin
创建一个 admin 管理员账号:
db.createUser({ user: 'root', pwd: '123456', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });
然后退出exit
创建普通用户、密码和数据库
以 admin 用户身份进入mongo
docker exec -it 11e2d2fd20a2 mongo admin
创建 用户、密码和数据库:
db.createUser({ user: 'shenlbang', pwd: '123456', roles: [ { role: "readWrite", db: "yygh_hosp" } ] });
1、user:为登录时的用户名
2、pwd:为登录时的密码
3、roles中的内容:role为权限此处为读写权限 db为数据库名
登录 yygh_hosp数据库
以 admin 用户身份进入mongo :
docker exec -it 11e2d2fd20a2 mongo admin
对 shenlbang进行身份认证:
db.auth("shenlbang","123456");
切换数据库
use yygh_hosp
添加数据
db.test.save({name:"zhangsan"});
查询数据
db.test.find()
3、整合springboot
导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
在配置文件中添加配置
#mongoDB配置
#第一个数据库
#注:配置根据自己实际情况更改
spring.data.mongodb.host=ip
spring.data.mongodb.port=端口
#认证的数据库账号
spring.data.mongodb.authentication-database=admin
spring.data.mongodb.username=root
spring.data.mongodb.password=123456
#连接的数据库
spring.data.mongodb.database=yygh_hosp
navicat中连接mongo