Web

mongoDB的安装与连接

服务器版本:CentOS 7.6 64位

安装mongoDB社区版本

MongoDB社区版本和企业版本差异主要体现在安全认证、系统认证等方面,所以我们直接安装社区版。

首先创建mongoDB的镜像源

默认的镜像源是无法下载,不知道为什么

vi /etc/yum.repos.d/mongodb-org-4.4.repo

写入

[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc

使用yum下载

sudo yum install -y mongodb-org
image

开启mongoDB

sudo systemctl start mongod

验证是否成功开启

sudo systemctl status mongod
image 1

这样就是成功开启了

让mongoDB随着系统重启自动启动(开机自启)

sudo systemctl enable mongod

运行mongoDB

mongo
image 2

可以看到数据库的版本,这样就算成功启动了!

连接mongoDB

在进入mongo后,使用 show dbs可以看见当前的用户

image 3

我们需要创建一个使用账号密码远程访问的账户,这样才可以连接。

输入

use admin

然后创建用户名和密码

db.createUser({user:"adminUser", pwd:"*******",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})

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

使用db.auth(” name”,”password”) 查看创建的用户是否存在。若为1则证明存在。

image 6

使用db.quit()退出

注意必须使用db.quit()退出,否则端口会冲突

输入下面的代码开放外网访问

注意若重启实例出现无法连接,再次运行下面初始化代码

mongod --dbpath=/var/lib/mongo --fork --logpath=/var/log/mongodb/mongod.log --bind_ip=0.0.0.0 --auth

注意必须写–auth,否则mongoDB有localhost Exception机制。即如果没有管理员授权的角色,默认所有人都可以连接上数据库。

这样子即操作成功

image 8

下载mongoDB Compass

这是一个图形化管理界面,类似于navicat

image 7

输入账号密码点击连接

image 9

大功告成!

mongoDB权限管理问题

使用String连接

mongodb://name:password@***/?authSource=admin