基于docker安装mongo

文章介绍了如何在Docker环境中安装MongoDB,包括创建数据挂载点,启动容器并创建管理员用户。此外,还提到了使用DataGrip、Navicat和nosqlbooster4mongo作为MongoDB的可视化工具进行连接和管理。

1.背景

基于业务的需求,部分数据量较大,基本一天的数据量都在1亿左右,关系型数据库已经满足不了了要求,所以更换为非关系型数据库.当然非关系型数据库的种类有很多,我们选择的是mongo,要想了解熟悉mongo,不能只做书面上的功夫,必须较强实际操作,才可以得心应手.

2. 安装mongo

在docker 中安装mongo的方式有很多,基本都比较简单,但是在基于docker环境安装mongo时,必须有一台自己的linux服务器,并且在服务器中安装好docker
docker的安装方法:docker官方安装

2.1 安装mongo

基于docker run安装

 # 建立文件用来挂在mongo的数据,并且赋予可执行的权限
 [root@VM-8-5-centos home]$mkdir -p mongo/data
[root@VM-8-5-centos mongo]$chmod 777 data/
[root@VM-8-5-centos mongo]$ll
total 4
drwxrwxrwx 2 root root 4096 Apr 21 15:29 data

# 安装mongo
docker run -it --name mongo\
-p 27017:27017 \
-v /home/mongo/data:/data/db \
 mongo:latest --auth

# 创建用户  mongo的默认密码为admin
[root@VM-8-5-centos home]$docker ps|grep mongo
13fe461eaa6e   mongo:             "docker-entrypoint.s…"   52 minutes ago   Up 52 minutes   0.0.0.0:27017->27017/tcp, :::27017->27017/tcp                                                              mongo
[root@VM-8-5-centos home]$docker exec -it 13fe461eaa6e mongo admin
[root@VM-8-5-centos home]$docker exec -it 13fe461eaa6e mongo admin
MongoDB shell version 
connecting to: mongodb://127.0.0.1:2707/admin?compressors=disbled&gssapiServiceName=mongo
Implicit session: session { "id" : UUID("ffb-4fe0-876a-45887a2a") }
MongoDB server version:
db.createUser({ user:'admin',pwd:'admin',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
Successfully added user: {
	"user" : "admin",
	"roles" : [
		{
			"role" : "userAdminAnyDatabase",
			"db" : "admin"
		},
		"readWriteAnyDatabase"
	]
}
# 登录
> db.auth('admin','admin');
1

启动时如果报错:

OCI runtime exec failed: exec failed: unable to start container process: exec: “mongo”: executable file not found in $PATH: unknown

是因为:
mongo5.0以上的版本使用mongo来执行mongodb命令已经不支持了,你需要改用mongosh来替代mongo!

2.2 可视化工具登录

mongo可视化连接工具有很多,具体用按个完全看个人喜好

2.2.1 DataGrip可视化工具

DataGrip是大名鼎鼎的JetBrains 公司推出的管理数据库的产品,对于 JetBrains 公司,开发者肯定都不陌生,IDEA 就是这个公司的产品,用户体验非常不错。
DataGrip 提供 Windows 版本和 macOS 版本,支持几乎所有主流的关系数据库产品,如:PostgreSQL、MySQL、Oracle Database、SQL Server、Azure、Amazon Redshift、SQLite、DB2、H2、Sybase、Exasol、Apache Derby、MariaDB、HyperSQL、ClickHouse、Cassandra、Vertica、Greenplum、Apache Hive、Snowflake 等,并且提供了简单易用的界面,开发者上手几乎不会遇到任何困难。
下载地址:官网地址
从官网下载的DataGrip可以免费试用30天,如果想要激活,可以搜下,网上的激活方式有很多.
使用

  1. 打开软件,找到数据源,然后找打mongo
    在这里插入图片描述
    第一次使用,mongo数据源不会再最近一栏的下面,在全面支持下面
  2. 点开mongo,然后进行连接配置
    在这里插入图片描述
    第一次连接时会联网自动下载驱动,

当然支持离线安装驱动,其实离线安装驱动的用处还是比较大的
首先你需要在一台联网的电脑中下载相应的驱动,然后找到下载驱动的位置,把驱动完全拷贝出来,方法哦没联网的电脑中相同的目录下即可
位置:
C:\Users{你电脑的名字}\AppData\Roaming\JetBrains\DataGrip2021.3\jdbc-drivers

在这里插入图片描述

  1. 连接上就可以开始使用了
    在这里插入图片描述

2.2 Navicat可视化工具

这个工具安装使用都比较简单

2.3 nosqlbooster4mongo可视化工具

这个工具安装比较简单,直接安装即可

2.3.1 下载

官方下载地址
在这里插入图片描述
选择对应的系统环境下载即可,下载完,直接一键安装

2.3.2 使用

在这里插入图片描述
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值