当前位置: 首页 > news >正文

【centos7下部署mongodb】

一.安装环境

CentOS7+MongoDB4.0.13正式版。

二.下载MongoDB

1.1 官网下载地址:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.13.tgz

在这里插入图片描述

1.2 将压缩包通过xftp上传到服务器/opt目录,然后解压、改名

在这里插入图片描述

三. 配置环境变量及配置文件

3.1配置系统环境变量:

vim /etc/profile

 #mongodb
export PATH=$PATH:/opt/mongodb/bin 

在这里插入图片描述
source /etc/profile 使修改生效。

3.2 创建MongoDB数据存放文件夹和日志记录文件夹,为后面的配置文件使用:

mkdir -p  /data/db
mkdir -p /logs

3.3 创建MongoDB运行时使用的配置文件:

进入bin目录下:cd /opt/mongodb/bin

创建mongodb.conf配置文件:vim mongodb.conf,输入如下内容:

dbpath = /data/db #数据文件存放目录

logpath = /logs/mongodb.log #日志文件存放目录

port = 27017 #端口

fork = true #以守护程序的方式启用,即在后台运行

#auth=true #需要认证。如果放开注释,就必须创建MongoDB的账号,使用账号与密码才可远程访问,第一次安装建议注释

bind_ip=0.0.0.0 #允许远程访问,或者直接注释,127.0.0.1是只允许本地访问
在这里插入图片描述

四. 启动MongoDB

4.1 启动MongoDB服务:

进入bin目录下,加载配置文件方式启动:

cd /opt/mongodb/bin
./mongod -f mongodb.conf

在这里插入图片描述
至此,MongoDB在Linux上的安装启动完毕。

查看端口映射检查是否启动成功:netstat -nltp|grep mongod,
在这里插入图片描述
或者:netstat -nltp|grep 27017
或者: ps aux | grep mongo ,显示
在这里插入图片描述

4.2 关闭MongoDB。

mongod命令关闭:./mongod --shutdown

五. 创建MongoDB的账号

这也是我第一次搭MongoDB,由于刚开始在配置文件中加了auth=true,导致本地可正常访问,远程却一直连接不上MongoDB(远程使用的是默认空用户名和密码),看了很多博客也没找到原因,最后为MongoDB创建了账号远程才可访问,这也是上面的配置文件我为什么建议刚安装时注释掉auth=true,当然,后面如果熟悉了账号的创建,为了安全还是应该开启的。

建议注释了auth=true后进行下面的操作,如果开启了认证,可能会导致下面的操作执行失败(只是可能)。

进入bin目录下: cd /opt/mongodb/bin

运行mongo命令:mongo
在这里插入图片描述
使用admin数据库:use admin,

注意admin数据库下创建的账号权限是所有库通用的,即是全局认证的。

创建用户:

db.createUser

({

user: ‘root’, pwd: ‘root’,roles:

[ { role: “dbOwner”, db: “test” }]

})
在这里插入图片描述
这时候MongoDB的admin数据库就有了账号,启用auth=true,重启后,再连接就需要账号密码授权了。
在这里插入图片描述
连接admin数据库(因为账号是admin数据库下的用户,如果想直接连接test数据库,这个数据库中是没有名为root的用户的,所以最好的解决方案就是在test数据库中通过db.createUser创建一个相同的用户):use admin

授权:db.auth(“root”,“root”)

使用test数据库:use test
在这里插入图片描述
这时候就拥有了权限对数据库进行操作:db.firstCollection.save({“name”:“majun”,“age”:“30”})

可查看是否新增成功:db.firstCollection.find({name:“majun”})
在这里插入图片描述
在这里插入图片描述
退出mongo命令行工具:ctrl + c 或 exit

http://www.lryc.cn/news/19251.html

相关文章:

  • pycharm首次使用爬虫框架scrapy遇到的问题和解决方法(二)
  • pyflink学习笔记(二):table_apisql
  • 嵌入式 STM32 实现STemwin移植+修改其配置文件,驱动LCD显示文本 (含源码,建议收藏)
  • [计算机网络(第八版)]第一章 概述(学习笔记)
  • AI绘图:常用镜头和视角
  • TCP四次挥手
  • Tomcat源码分析-类加载器
  • MySQL进阶篇之视图/存储过程/触发器
  • 【一看就会】实现仿京东移动端页面滚动条布局
  • 网易的“草长莺飞二月天”:增长稳健,加码研发,逐浪AI
  • NPC内网穿透教程-入门
  • 【Linux修炼】14.磁盘结构/文件系统/软硬链接/动静态库
  • Spring源码分析:创建 BeanDefinition 流程
  • Linux 练习一(思维导图 + 练习过程)
  • 高德地图基础教程超详细版
  • 基于A7核开发板的串口实现控制LED亮灭
  • HyperGBM用Adversarial Validation解决数据漂移问题
  • 关基系统三月重保安全监测怎么做?ScanV提供纯干货!
  • RK3588关键电路 PCB Layout设计指南
  • 二分边界详细总结
  • STM32---备份寄存器BKP和 FLASH学习使用
  • Python-生成元组和字典
  • I.MX6ULL内核开发10:设备树
  • 【大数据】记一次hadoop集群missing block问题排查和数据恢复
  • 国产音质好的蓝牙耳机有哪些?国产音质最好的耳机排行
  • CTFer成长之路之XSS的魔力
  • 行锁、表锁、主键外键、表之间的关联关系
  • JavaScript 进阶(面试必备)--charater4
  • ARM+FPGA架构开发板PCIE2SCREEN示例分析与测试-米尔MYD-JX8MMA7
  • 51单片机入门 - SDCC / Keil_C51 会让没有调用的函数参与编译吗?