数据库
首页 > 数据库> > MongoDB-通过docker搭建一个用来练习的mongodb数据库

MongoDB-通过docker搭建一个用来练习的mongodb数据库

作者:互联网

为什么突然间要写搭建MonoDB的教程呢,因为公司有需要用到呀。目前所在的公司,有部分数据是存储在MongoDB中的,而且目前今后的工作可能会偏向于验证数据,因此需要掌握对这个数据库的一些基本用法,怕有些操作到时候不敢直接在公司数据库上进行操作,先在自己服务器上学习一下基本的用法。

老套路,这里推荐使用docker的方式来搭建这样一个数据库,具体操作如下:

1、下载最新镜像:

docker pull mongo:latest

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

2、启动镜像

在服务器创建一个目录 用来存储数据做数据持久化
mkdir -p  /root/docker_volume/mongodb/data
docker run -itd --name mongodb -v /root/docker_volume/mongodb/data:/data/db -p 12345:27017 mongo --auth
参数说明:
-p 27017:27017 :映射容器服务的 27017 端口到宿主机的 12345(可自己改,这里改成不一致的,避免遭到******) 端口。外部可以直接通过 宿主机 ip:12345访问到 mongo 的服务。
--auth:需要密码才能访问容器服务,启动容器后进入容器为用户设置密码

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

3、创建一个名为 admin,密码为 123456 的用户

docker exec -it mongodb mongo admin
创建一个名为 admin,密码为 123456 的用户。
>  db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
# 尝试使用上面创建的用户信息进行连接。
> db.auth('admin', '123456')

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

4、通过navicat工具(非开源)连接mongodb数据库

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

5、如果公司不允许使用破解软件的,可以考虑使用Robo 3T (免费开源)这个软件去连接MongoDB (https://robomongo.org/):

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

连接后页面如下:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

END


标签:admin,MongoDB,27017,db,mongodb,docker,123456
来源: https://blog.51cto.com/u_7739395/2736320