Ubuntu版本:Ubuntu 20.04.5 LTS
1.Ubuntu20安装MongoDB
1.1 安装
- 直接执行如下代码安装:
sudo apt-get install mongodb
- 安装完成后,执行
mongo -version
,如果输出mongodb版本信息,则安装成功。示例如下:
1.2 启动数据库服务
-
安装完成后,执行命令
sudo service mongogb start
开启mongodb
服务 -
执行
sudo service mongodb status
查看,如下
-
在ubuntu终端执行
mongo
进入mongo shell
,如下:
此时便可在
mongo shell
输入语句操作数据库 -
执行
show dbs
,查看数据库内容
scsdata
数据库是我自己建的项目数据库,刚安装的mongodb
,只有admin
、local
、config
三个库
1.3 开启安全认证
做完2.1
、2.2
小节,mongodb
就算安装成功,能够建立数据库,进行增删改查操作了。但是有一个问题,我们使用mysql
数据库的时候,不是要登陆吗?怎么mongodb
没有输入用户名和密码的步骤?原因是mongodb
默认关闭了安全认证机制,任何人在任何地方都可以直接连接数据库,并且可以随意操作。(此处有安全风险!!!不开启安全认证,并且如果是公网IP
的话,相当于我们的数据库裸奔在云上。感兴趣的同学可以搜一下【mongodb
启示录】)
那么接下来就开启mongodb
的安全认证机制。
Step1
:创建用户
在2.2
小节的基础上,我们进入mongodb shell
,创建用户,示例如下:
-
Step2
:开启安全认证
退出mongodb shell
,编辑/etc/mongodb.conf
文件,将 auth=true
取消注释,即删除前面的#
即可。
-
执行完成之后,我们执行命令sudo service mongodb restart
重启mongodb
,此时安全认证就已经开启了。
Step3
:检测
执行mongo
命令进入mongo shell
,此时如果不授权,则执行任何命令都会报错,例如我们未授权之前执行show dbs
命令,如下:
-
执行db.auth("username","password")
命令进行授权,然后执行show dbs
命令,如下:
-
注意:在执行db.auth("username","passwod")
执行,需要执行user admin
,切换数据库到admin
数据库.这里涉及mongodb
的权限管理知识,不做过多讲解。
完成Step1、Step2、Step3
,安全认证就已经开启了,现在必须拿到用户密码进行授权,才能对数据库进行操作。
1.4 实现远程连接
远程连接我们只需要编辑一下/etc/mongodb.conf
文件即可,将其中的bind_ip
字段值改成0.0.0.0
即可。如下:
-
接下来我们进行测试,远程连接工具,可以用wsl ubuntu子系统
、mongodb compass
等,我这里使用的是navicat
。我们新建连接,选择mongodb
-
连接配置信息如下,输入数据库所在服务器ip
、端口、用户名、密码即可。(端口默认是27017
)
-
到此,远程连接的配置和测试就完成了!!!撒花~