零,前言

想实现在服务器部署mongodb数据库,同时在本地进行访问。
结果网上的资料比较乱,还好最后实现了,在此记录一下,方便以后查看。

一,Linux和windows安装与配置

  • Linux版
  • 首先下载
wget 下载地址

本号

链接库 (根目录:lib(32) && lib64(64))

suse

libcrypto.so.1.1 libssl.so.1.1

mazon

libcrypto.so.10 libssl.so.10

通过 ldd ./bin/mongod (移动到mongodb目录) 查看对应链接库是否缺失

linux版本mongodb查看

  • 解压
tar -xvzf  文件名 //解压
mv mongodb  /usr/local/  //将解压后的文件移动到指定目录并改名
cd /usr/local/mongodb/   //切换到mongodb
  • 在mongodb目录下创建目录data/db ,以及/log目录
mkdir data  //创建data目录
	mkdir log    //创建log日志目录
	cd data       //切换到data目录
	mkdir db     //创建db 目录
  • 配置环境
vi /etc/profile  // 打开profile文件
	
	# mongodb环境配置
	export MONGODB_HOME=/usr/local/mongodb  
	export PATH=$PATH:$MONGODB_HOME/bin
  • 修改后,更新配置
source /etc/profile
  • 在mongodb目录下创建conf目录,并创建mongodb.conf配置文件,并配置
cd /usr/local/mongodb/    //切换到mongodb
    mkdir conf //创建conf目录
    cd conf  //切换到conf  
    touch mongodb.conf  //创建mongodb.conf配置文件
    
	vi mongodb.conf   //编辑mongodb.conf配置
	
	dbpath = /usr/local/mongodb/data/db #数据文件存放目录
	logpath = /usr/local/mongodb/log/mongodb.log #日志文件存放目录
	logappend=true #以追加的方式记录日志
	#外网访问时记得 防火墙放行对应端口
	port = 8888#根据自己需求修改
	bind_ip = 0.0.0.0 #可使用逗号(,)分隔多个ip
	auth = true  #开启客户端认证
	fork = true  #以守护程序的方式启用,即在后台运行
  • 关于Linux的mongodb的配置文档
  • 启动mongodb服务
cd /usr/local/mongodb/    //切换到mongodb
	./bin/mongod --config ./conf/mongodb.conf  //启动服务
  • 有可能启动不了

报错
/usr/local/mongodb/bin/mongo: /lib64/libcrypto.so.10: version
`OPENSSL_1.0.2’ not found (required by /usr/local/mongodb/bin/mongo)

报错
lib64 libc so 6 version `GLIBC_2 18’ not found

  • 解决办法
  • Windows版
  • 首先下载
    下载地址
  • 安装
  • 根据自己的安装目录找到 /bin/mongod.cfg
    (默认安装目录:C:\Program Files\MongoDB\Server\4.2\bin)
  • 关于Windows的mongodb的配置文档
  • 我的配置
storage:
	  dbPath: C:\Program Files\MongoDB\Server\4.2\data
	  journal:
	    enabled: true
	    
	systemLog:
	  destination: file
	  logAppend: true
	  path:  C:\Program Files\MongoDB\Server\4.2\log\mongod.log
	
	net:
	  port: 8888
	  bindIp: 0.0.0.0,127.0.0.1
	#开启验证
	security:
	  authorization: enabled # enabled/disabled #开启客户端认证
  • 把mongodb设置成Windows服务
// 根据自己安装目录 进行路径调整
	"C:\Program Files\MongoDB\Server\4.2\bin\mongod.exe" --config "C:\Program Files\MongoDB\Server\4.2\bin\mongod.cfg" -install -serviceName "MongoDB"
  • 启动,停止服务
net start 服务名
	net stop 服务名

二,配置mongodb用户

  • 注意先创建用户,再开启认证
  • 通过命令行来访问mongodb数据库
#没有配置端口并且访问本地
	mongo
	#配置端口或者非本地访问
	mongo ip:port
	mongo 127.0.0.1:8888
	mongo 127.0.0.1 --port=8888
  • 在配置登录验证时,先创建一个root账号
db.createUser({
		"user": "admin", #用户名
		"pwd": "adminpwd", #密码
		"roles": [ #配置权限以及对应的数据库
			{
				"role": "root", #root权限
				"db": "admin" #数据库
			}
		]
	})
  • 接着创建一个新的数据库
use lcnoob #创建一个新的数据库
	#此时使用 show dbs 并没有显示,需要向数据库写入点数据
	db.show.insert({"name":"lcnoob"})})))
	#此时通过 show dbs 就能显示刚刚创建的数据库
	#或者通过可视化工具创建数据库
  • 给新数据库创建用户并赋予权限
db.createUser({
	"user":"showuser",
	"pwd":"showpwd",
	"roles":[
			{
				"role":"readWrite",
				"db":"show"
			}
		]
	})
  • 此时开启认证
  • 在连接数据库时进行认证
mongo 127.0.0.1:8888/show -u showuser -p
	#回车后会提示输入密码
	#或者先进入数据库
	#通过 auth命令来进来认证 认证前先进入对应的数据库
	use show
	db.auth("showuser","showpwd")
  • 此时就可以进行远程连接了