下载地址 下载测试数据
作者:程序那点事儿 日期:2023/02/15 02:16
-
进入下载页,选择版本后,右键Download复制连接地址
-
下载安装包
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-5.0.14.tgz
- 解压安装包
tar -zxvf mongodb-linux-x86_64-rhel70-5.0.14.tgz -C /usr/local/ mv mongodb-linux-x86_64-rhel70-5.0.14/ mongodb5.0.14/ #重命名一下
- 配置环境变量
a.cd mongodb5.0.14/
b.pwd #显示安装路径,配置时复制
c.vim /etc/profile #配置PATHexport PATH=/usr/local/mongodb5.0.14/bin:$PATH
- 刷新
d.source /etc/profile #刷新
- 安装
-
Linux下我们使用tgz格式的安装包进行安装,没有像windows那样可以使用msi进行简易安装,所以,它这个包是不全的,我们需要进入mongodb目录再手动创建两个目录,data和log,data目录是用于存放数据的,log目录是用于存放日志文件的。
- 创建目录
- mkdir data
- mkdir logs
- 创建配置文件
-
因为该安装包不包含配置文件,我们需要去bin目录下面写一个mongodb的配置文件
-
cd bin/
-
vi mongodb.conf
#端口号 默认为27017 port=27017#数据库数据存放目录 dbpath=/usr/local/mongodb5.0.14/data#数据库日志存放目录 logpath=/usr/local/mongodb5.0.14/logs/mongodb.log# pid存储路径 pidfilepath = /var/run/mongo.pid#以追加的方式记录日志 logappend = true#以后台方式运行进程 fork=true#开启用户认证 #auth=true#最大同时连接数 maxConns=100#这样就可外部访问了,例如从win10中去连虚拟机中的MongoDB bind_ip = 0.0.0.0#每次写入会记录一条操作日志(通过journal可以重新构造出写入的数据)。 #启用日志文件,默认启用 journal=true#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false quiet=true
-
- 启动服务
./mongod -f mongodb.conf
- 连接服务
./mongo
- 停止服务
因为我们启动服务时没有使用系统服务启动(参考后面一步),停止服务需要使用kill命令
- ps -ef | grep mongo
- kill 56552
- 使用系统服务启动(可选操作)
- 在/etc/init.d/路径下创建启动脚本 vim /etc/init.d/mongod
#!/bin/sh # chkconfig: #MogoDB home directory MONGODB_HOME=/usr/local/mongodb5.0.14/#mongodb command MONGODB_BIN=$MONGODB_HOME/bin/mongod#mongodb config file MONGODB_CONF=$MONGODB_HOME/bin/mongodb.conf#mongodb PID MONGODB_PID=/var/run/mongo.pid#set open file limit SYSTEM_MAXFD=65535MONGODB_NAME="mongodb" . /etc/rc.d/init.d/functionsif [ ! -f $MONGODB_BIN ] thenecho "$MONGODB_NAME startup: $MONGODB_BIN not exists! " exit fistart(){ulimit -HSn $SYSTEM_MAXFD$MONGODB_BIN --config="$MONGODB_CONF" --fork ##added ret=$?if [ $ret -eq 0 ]; thenaction $"Starting $MONGODB_NAME: " /bin/trueelseaction $"Starting $MONGODB_NAME: " /bin/falsefi}stop(){PID=$(ps aux |grep "$MONGODB_NAME" |grep "$MONGODB_CONF" |grep -v grep |wc -l) if [[ $PID -eq 0 ]];thenaction $"Stopping $MONGODB_NAME: " /bin/falseexitfikill -HUP `cat $MONGODB_PID`ret=$?if [ $ret -eq 0 ]; thenaction $"Stopping $MONGODB_NAME: " /bin/truerm -f $MONGODB_PIDelse action $"Stopping $MONGODB_NAME: " /bin/falsefi}restart() {stopsleep 2start }case "$1" instart)start;;stop)stop;;status)status $prog;;restart)restart;;*)echo $"Usage: $0 {start|stop|status|restart}" esac
设置权限 chmod 755 /etc/init.d/mongod
- 启动MongoDB
- systemctl start mongod #启动失败是,mongodb.service被屏蔽了
-
解决启动失败
sudo systemctl unmask mongodb #将服务取消屏蔽 systemctl start mongod #发现启动成功了!
- 在/etc/init.d/路径下创建启动脚本 vim /etc/init.d/mongod
- 关闭防火墙
systemctl status firewalld #查看状态 systemctl stop firewalld #关闭 systemctl disable firewalld #永久关闭
如果外部要访问,需要开放防火墙端口,我们选择关闭防火墙。
- 访问测试
mongo #输入mongo命令(或:mongo --host 127.0.0.1:27017)使用本地客户端进行访问 show dbs #查看一下数据库
- 停止服务
systemctl stop mongod #使用系统服务停止服务 db.shutdownServer() #优雅停服,防止数据丢失