mongodb之远程连接

零,前言

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

一,Linux和windows安装与配置

  • Linux版

    • 首先下载
      wget 下载地址
      
    本号链接库 (根目录:lib(32) && lib64(64))
    suselibcrypto.so.1.1 libssl.so.1.1
    mazonlibcrypto.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")
    
  • 此时就可以进行远程连接了
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值