Linux安装MongoDB操作

目录

系统环境:

开始安装:

最好先升级软件包:

一键下载并安装MongoDB:

配置MongoDB

设置账号密码

前言:

进入正题:

更改MongoDB配置:

连接服务器MongoDB:

服务器连接:

远程连接


系统环境:

Ubuntu:20.04.5 LTS

  • 开始安装:

  1. 最好先升级软件包:

  • sudo apt update
  • sudo apt upgrade

注:因为我登陆的身份就是root,以下我所有的操作可以不加sudo验证。如果你登录的是非root账号,在执行某些操作遇到权限问题,记得加sudo,并输入密码验证。

  1. 一键下载并安装MongoDB:

apt install mongodb

中间会有确认安装提示:输入Y即可

  • 配置MongoDB

  1. 设置账号密码

  • 前言:

因为新安装的MongoDB是没有用户和密码的,不论是本地还是接外网都是很不安全的一件事。

非常不安全!!!

非常不安全!!!

非常不安全!!!

重要的事说三遍,非常不安全!!!

(本人曾经就因为为了省事,直接“裸奔”,结果就是被黑客黑了,还好只是用来测试的几个数据,不重要,要是真正上线或者使用,那后果可想而知。)

  • 进入正题:

直接输入:

mongo

就可以进入MongoDB(如果后面更改了端口,那就是:mongo --port 端口号)

注意看图片标记处,就是MongoDB的默认IP(也就是本地)和端口

此时你若输入:db.getName(),你会发现,你在test库中。

插一段,关于常用的几个MongoDB操作命令如下:

show dbs:查询所有数据库

show users:显示当前所有用户

use admin:切换到admin库(注意:如果输入的数据库名不存在,则会先创建再进入)

db.getName():查看当前数据库

db.version():查看MongoDB版本

db.dropDatabase():删除数据库(要先进入想删除的数据库)

db.createUser():创建用户

db.auth():验证用户

db.repairDatabase():修复当前数据库

db.stats():当前数据库状态

……

当我们在mongo里面输入show users时,你会发现没有任何返回值:

说明新安装的MongoDB没有任何用户,那我们就先来创建一个超级管理员:

  1. use admin:进入admin数据库
  2. db.createUser({user: 'admin', pwd: '123456', roles:[{ role:'root', db:'admin'}]})

字段解释:

user: 'admin',用户名为admin

pwd: '123456',密码是123456

role:'root',表示超级管理员权限

db:'admin',表示该超级管理员管理的数据库是admin

关于MongoDB的role类别,有以下几种(方便省事,直接从大佬那里拷贝一下,来源地址:https://www.cnblogs.com/fqh123/p/15192146.html):

read:允许用户读取指定数据库

readWrite:允许用户读写指定数据库

dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile

userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户

clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。

readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限

readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限

userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限

dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。

root:只在admin数据库中可用。超级账号,超级权限

输入完确定:

下面来验证一下刚刚创建的新用户:

输入:db.auth('admin', '123456')就会看到如下图片所示:

出现1说明我们已经创建成功了。现在退出mongo,输入exit。

  1. 更改MongoDB配置:

在命令行输入:

vi /etc/mongodb.conf

注:如果是docker等精简版Linux环境,可能会没有vim命令,所以,可以输入:

apt install vim

进行安装。

此时是没有办法进行输入更改操作的,输入“i”后底部会出现INSERT字样,说明可以进行插入更改操作:

映入眼帘的一个地方:

bind_ip = 127.0.0.1表示绑定的ip地址,port=27017表示mongo端口

默认为本地的27017端口,所以,如果你有需求指定IP访问,那么请更改bind_ip后面的ip地址(注:如果想让MongoDB外网访问,那么请将127.0.0.1注释掉:#bind_ip=127.0.0.1,不过在有的Linux系统中注释无效,只能更改成bind_ip=0.0.0.0,我第一次就是无效,后来改成这样才可以的。)一般我们会更改MongoDB的端口,比如我更改成27018。然后再将身份验证打开:

然后按ESC退出编辑模式,再按shift+:输入wq保存并退出。

然后查看你MongoDB的运行状态,输入:

systemctl status mongodb

如果是active(running)那就说明MongoDB处于运行状态,如果不是,输入:

service mongodb start

即可。

将MongoDB设置开机自启:

systemctl enable mongodb

将MongoDB重启,不然你设置的配置可能无法生效,输入:

service mongodb restart

或者:

systemctl restart mongodb

都可以。

题外话:如果你的是某云服务器,记得在控制台中放开你刚刚更改的MongoDB端口

若是服务器也安装了防火墙,同样放开。我的防火墙没开,所以就不用管:

注:ufw防火墙有的Linux可能没有安装,装不装个人选择,

安装的话,输入:

apt install ufw

打开防火墙命令:

ufw enable

查看是否开启:

ufw status

允许某个端口(比如刚刚的MongoDB):

ufw allow 27018

删除某个端口:

ufw delete allow 27018

其他具体请自行百度。

  1. 连接服务器MongoDB:

  • 服务器连接:

端口、账号、密码,并在后面加上数据库验证:

 mongo --port 27018 -u admin -p 123456 --authenticationDatabase admin
  • 远程连接:

打开你本地的navigate等连接工具(个人喜欢哪个就用哪个):

 

至此,大功告成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值