当前位置:网站首页>云服务器下载安装mongo数据库并远程连接详细图文版本(全)
云服务器下载安装mongo数据库并远程连接详细图文版本(全)
2022-08-01 03:45:00 【码农研究僧】
前言
关于mongo的知识点补充可看这篇文章:MongoDB框架零基础入门
在这篇文章中也讲到了windows安装mongo,而且关于windows的无法启动可看这篇文章:MongoDB出现Error parsing command line: unrecognised option ‘–fork‘ 的解决方法
此篇文章为 在服务器中安装mongo
1. 下载解压
下载对应的mongo版本号,通过mongo官网复制对应的链接进行curl:mongo官网
操作系统的平台博主为ubuntu20.04,具体查看版本号,通过如下命令cat /etc/issue
或者 lsb_release -a
之后下载对应的mongo操作系统版本链接:
操作完成之后对应copy link 复制链接
- 下载以及解压:
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-6.0.0.tgz
(ubuntu使用curl,如果是centos使用wegt) - 解压:
tar -zxvf mongodb-linux-x86_64-ubuntu2004-6.0.0.tgz
- 复制到usr路径并且创建data文件夹(当数据有所变化,命令中通过–dbpath参数来指定db目录的路径)
[email protected]:~/mongo# mv mongodb-linux-x86_64-ubuntu2004-6.0.0/ /usr/mongodb
[email protected]:~/mongo# mkdir -p /usr/mongodb/data
截图如下:
在创建一个log日志来存放log的配置文件:touch /usr/mongodb/mongod.log
为了让全局终端输入mongo都有效,需要配置环境变量
通过vim /etc/profile
进入编辑模式
export MONGO_HOME=/usr/mongodb
export PATH=$PATH:$MONGO_HOME/bin
让配置生效:source /etc/profile
通过echo $PATH
或者 printenv PATH
或者echo $MONGO_HOME
,查看配置是否有生效,有这路径
2. 启动
2.1 命令启动
之后启动mongo可以通过mongod运行对应的参数,而不需要在mongodb下的bin目录执行
- 后台运行模式(建议):
mongod --dbpath=/usr/mongodb/data --logpath=/usr/mongodb/mongod.log --logappend --port=27017 --fork
- 当前运行模式(执行后不可关闭终端):
mongod --dbpath=/usr/mongodb/data --logpath=/usr/mongodb/mongod.log --logappend --port=27017
在当前的运行模式下,如果crtl+c退出终端之后,mongo就会自动退出,具体查看进程号通过ps -ef | grep mongo
如果关闭mongo的启动,则通过kill -9 进程号
即可
具体启动之后如果没有这个mongo信息,也就是没有启动成功,则需要删除/usr/mongodb/data/mongod.lock文件
[email protected]:/usr# mongod --dbpath=/usr/mongodb/data --logpath=/usr/mongodb/mongod.log --logappend --port=27017 --fork
about to fork child process, waiting until server is ready for connections.
forked process: 6836
child process started successfully, parent exiting
主要原因是因为上次的非正常关闭,导致mongodb在启动后创建了这个lock文件,影响下一次的启动,只需要将其删除即可(一般正常启动也会有,如果无法启动删除该文件在启动即可)
通过rm - rf mongod.lock
删除,在将其启动即可
2.2 配置启动
通过touch 创建一个配置文件进行存放:touch /usr/mongodb/mongod.conf
# 日志
logpath=/usr/mongodb/data/mongod.log
# 数据库
dbpath=/usr/mongodb/data
# 端口映射
port=27017
# 日志是否追加
logappend=true
# 后台运行
fork=true
# 最大连接数
maxConns=100
# 是否启用用户访问
# auth=true
# 是否远程链接
bind_ip = 0.0.0.0
截图如下:
之后通过如下进行启动:mongod --config /usr/mongodb/mongod.conf
[email protected]:/usr/mongodb# mongod --config /usr/mongodb/mongod.conf
about to fork child process, waiting until server is ready for connections.
forked process: 6966
child process started successfully, parent exiting
[email protected]:/usr/mongodb# ps -ef | grep mongo
root 6966 1 9 18:03 ? 00:00:00 mongod --config /usr/mongodb/mongod.conf
root 7007 6603 0 18:04 pts/3 00:00:00 grep --color=auto mongo
[email protected]:/usr/mongodb# kill -9 6966
[email protected]:/usr/mongodb# ps -ef | grep mongo
root 7011 6603 0 18:04 pts/3 00:00:00 grep --color=auto mongo
截图如下:
注意的两点:
- 如果关闭mongo的启动,则通过
kill -9 进程号
即可 - 如果无法执行该文件,则通过
chmod 777 mongod.conf
增加权限
3. 连接
3.1 本地连接
启动之后本地测试是否可以正常连接,只需要配置相应的代码
或者通过curl 127.0.0.1:27017
即可验证
出现如下所示:It looks like you are trying to access MongoDB over HTTP on the native driver port.
即代表可以连接成功:
3.2 远程连接
博主使用的是华为云服务器
云服务器的启动需要配置入站规则(只要是云服务器就要配置入站规则)
所以在云服务器的安全组中增加一个27017的入站规则即可
之后通过网页输入:服务器ip:27017
即可看到这个It looks like you are trying to access MongoDB over HTTP on the native driver port.
截图如下:
边栏推荐
- Character encoding and floating point calculation precision loss problem
- Raspberry pie arm version of GCC installed configuration and environment variables
- MySQL modifies SQL statements to optimize performance
- Introduction to the Elastic Stack
- 【愚公系列】2022年07月 Go教学课程 023-Go容器之列表
- The bigger and bigger the project is, I split it like this
- "Youth Pie 2": The new boyfriend stepped on two boats, and the relationship between Lin Miaomiao and Qian Sanyi warmed up
- 初出茅庐的小李第112篇博客项目笔记之机智云智能浇花器实战(1)-基础Demo实现
- Flutter Tutorial 01 Configure the environment and run the demo program (tutorial includes source code)
- 软件测试面试(三)
猜你喜欢
Difference Between Compiled and Interpreted Languages
Open source project site must-have & communication area function
树莓派 的 arm 版的 gcc 安装 和环境变量的配置
leetcode6132. 使数组中所有元素都等于零(简单,周赛)
New York University et al | TM-Vec: Template Modeling Vectors for Rapid Homology Detection and Alignment
Browser download shortcut to desktop (PWA)
IDEA does not recognize the module (there is no blue square in the lower right corner of the module)
情人节浪漫3D照片墙【附源码】
Flutter “Hello world“ 程代码
《少年派2》:新男友竟脚踩两只船,林妙妙与钱三一感情回温
随机推荐
TypeScript simplifies running ts-node
Dart 命名参数语法
【Make YOLO Great Again】YOLOv1-v7全系列大解析(Neck篇)
MySQL modifies SQL statements to optimize performance
Message Queuing Message Storage Design (Architecture Camp Module 8 Jobs)
《少年派2》:新男友竟脚踩两只船,林妙妙与钱三一感情回温
This map drawing tool is amazing, I recommend it~~
基于STM32设计的UNO卡牌游戏(双人、多人对战)
MySQL4
785. Quick Sort
初出茅庐的小李第112篇博客项目笔记之机智云智能浇花器实战(1)-基础Demo实现
Difference Between Compiled and Interpreted Languages
Unity在BuildIn渲染管线下实现PlanarReflection的初级方法
test
Four implementations of
batch insert: have you really got it? MySQL4
How to write a high-quality digital good article recommendation
Guys, MySQL cdc source recycles replication slave and r in incremental process
Browser download shortcut to desktop (PWA)
JS new fun(); 类与实例 JS基于对象语言 只能通过书写构造函数充当类