2023-06-27
mongoDB数据库
00

目录

步骤一:下载安装包
(1)首先从 MongoDB官网 下载安装包
(2)选择自己需要的版本、型号
步骤二:解压安装包
步骤三:配置环境变量
(1)在终端中输入命令
(2)配置环境变量
(3)在终端中输入命令让配置生效
(4)在终端中输入命令检查是否安装成功
步骤四:配置与启动
一、建立日志跟数据的文件夹
(1)在 mongoDB 的文件路径下创建新文件夹
(2)在 mongoDB 的文件路径下赋予文件夹读写权限
二、启动mongodb服务
mongod - 启动服务器
mongo - 启动客户端
(1)mongoDB启动 手动指定目录启动mongoDB
(2)验证是否启动成功
(3)这个时候在新打开一个窗口,输入mongo
(4)可以打开网址证明是否启动成功
(5) 简化mongoDB 启动命令
1、使用文本编辑器(如 nano 或 vim)打开你的 shell 配置文件。通常,这个文件是 ~/.bashrc 或 ~/.bash_profile(取决于你使用的 shell)。
2、重新加载你的 配置文件以使别名生效。在终端中运行以下命令
3、启动
步骤五:关闭服务
(1)首先切换管理员的角色
(2)输入下面命令,参数可写可不写
步骤六:通过配置文件启动
(1)创建 mongodb.conf
(2)修改 mongodb.conf
(3)启动
根据配置文件启动mongoDB
(4)输入完命令后查看是否启动成功
步骤七:通过配置文件启动的服务关闭
步骤八:解决 security 把它的权限给打开了的问题
(1)建立root用户
(2)登录
(3)赋予权限
(4)重新关闭一下mongoDB

MongoDB数据安装

这篇文章提供了详细的步骤和指南,用于在本地安装和配置 MongoDB,包括下载安装包、解压、配置环境变量、启动 MongoDB 服务,并通过配置文件进行管理和关闭服务。重点在于如何手动设置 MongoDB 的数据和日志存储路径,以及如何通过配置文件和命令行来启动和关闭 MongoDB 服务。

思维导图

步骤一:下载安装包

(1)首先从 MongoDB官网 下载安装包

MongoDB官网

https://image.myxuechao.com/mongoDB/mongodb-01.png

(2)选择自己需要的版本、型号

https://image.myxuechao.com/mongoDB/mongodb-02.png

步骤二:解压安装包

下载好安装包后解压后重新命名为mongodb 把它放在自己想放的位置我默认放在 /usr/local 这个地方

在终端中输入:open /usr/local 就打开这个文件夹了

https://image.myxuechao.com/mongoDB/mongodb-03.png

步骤三:配置环境变量

首先需要打开一个bash_profile的文件,配置环境变量

(1)在终端中输入命令

jsx
open ~/.bash_profile

(2)配置环境变量

jsx
export PATH=${PATH}:/usr/local/mongodb/bin

https://image.myxuechao.com/mongoDB/mongodb-04.png

(3)在终端中输入命令让配置生效

jsx
source .bash_profile

(4)在终端中输入命令检查是否安装成功

jsx
mongod --version
  • 如果成功了则出现
jsx
db version v5.0.14 Build Info: { "version": "5.0.14", "gitVersion": "1b3b0073a0b436a8a502b612f24fb2bd572772e5", "modules": [], "allocator": "system", "environment": { "distarch": "x86_64", "target_arch": "x86_64" } }

步骤四:配置与启动

如果你跟我一样是从官网上下载的 mongoDB那么你会发现在它的目录下是没有关于日志以及数据存放的位置的

https://image.myxuechao.com/mongoDB/mongodb-05.png

一、建立日志跟数据的文件夹

这里为了方便,我就把这两个文件夹建立在mongoDB的文件路径下,其实呢你建立在其他任何地方也都是ok的

(1)在 mongoDB 的文件路径下创建新文件夹

jsx
# 使用 sudo 获取管理员权限 #创建存放数据库 sudo mkdir -p /usr/local/mongoDB/data/db #创建存放日志 sudo mkdir -p /usr/local/mongoDB/log

(2)在 mongoDB 的文件路径下赋予文件夹读写权限

username 表示自己的电脑用户名称我的叫 liuxuechao

datalog 两个文件夹分别赋予权限

bash
# 使用 whoami 命令来查看当前登录到计算机的用户名 whoami # 给data跟log目录以及它们的所有子目录和文件的所有权,使它们都属于 liuxuechao 用户 sudo chown -R liuxuechao /usr/local/mongodb/data sudo chown -R liuxuechao /usr/local/mongodb/log

二、启动mongodb服务

(重点) MongoDB 是一个数据库系统,它包括了以下关键组件:

  • 数据库的服务器
    • 数据库的服务器负责保存和管理数据。
    • 使用 mongod 命令来启动 MongoDB 服务器。
  • 数据库的客户端
    • 数据库的客户端用来与服务器交互,执行数据的增、删、改、查操作。
    • 使用 mongo 命令来启动 MongoDB 客户端。

mongod - 启动服务器

使用 mongod 命令可以启动 MongoDB 服务器。服务器是MongoDB的核心组件,它负责管理和存储数据。启动服务器是为了使数据库处于运行状态,以便客户端能够连接并操作数据。

mongo - 启动客户端

使用 mongo 命令可以启动 MongoDB 客户端。客户端是用于与服务器进行交互的工具,您可以使用它执行数据库操作,例如查询、插入、更新和删除数据。MongoDB 客户端允许您与数据库进行交互,并执行各种操作,从而管理和查询数据。

(1)mongoDB启动 手动指定目录启动mongoDB

它比MySql启动复杂,需要手动指定 存储数据的位置 以及 对应日志的位置

jsx
mongod --fork --dbpath /usr/local/mongodb/data/db --logpath /usr/local/mongodb/log/mongo.log --logappend

下面是对其各个参数的简洁解释:

  • mongod: MongoDB的可执行文件名,用于启动MongoDB服务器。
  • -fork : 以守护进程方式运行MongoDB,将其作为后台进程运行。
  • -dbpath: 指定MongoDB数据文件的存储路径,表示数据文件将存储在 **/usr/local/mongodb/data/db** 目录中。
  • -logappend: 如果日志文件已经存在,将日志追加到现有文件的末尾。

(2)验证是否启动成功

如果出现了下面图片选中的样子,证明启动成功

https://image.myxuechao.com/mongoDB/mongodb-06.png

(3)这个时候在新打开一个窗口,输入mongo

如果出现下面图片的小箭头也可以证明启动成功

https://image.myxuechao.com/mongoDB/mongodb-07.png

(4)可以打开网址证明是否启动成功

浏览器输入 http://127.0.0.1:27017/ 如果出现It looks like you are trying to access MongoDB over HTTP on the native driver port.证明启动成功。

(5) 简化mongoDB 启动命令

为了简化 启动 MongoDB 的过程,你可以创建一个 别名 (alias)。这个别名将使你只需输入 "**mongod**" 命令,而不必每次都键入完整的启动命令。这将让 MongoDB 的启动过程更加方便,不再需要记住或手动输入冗长的命令。

1、使用文本编辑器(如 nanovim)打开你的 shell 配置文件。通常,这个文件是 ~/.bashrc~/.bash_profile(取决于你使用的 shell)。

  • 在配置文件中添加以下行
bash
alias mongod='mongod --fork --dbpath /usr/local/mongodb/data/db --logpath /usr/local/mongodb/log/mongo.log --logappend'

确保路径(/usr/local/mongodb/data/db/usr/local/mongodb/log/mongo.log)适用于你的实际 MongoDB 数据目录和日志目录。

保存文件并退出文本编辑器。

2、重新加载你的 配置文件以使别名生效。在终端中运行以下命令

bash
source ~/.bash_profile # 如果你使用的是 ~/.bash_profile

3、启动

现在,当你在终端输入 "mongod" 时,它将自动以你指定的选项启动 MongoDB,无需再键入长命令。这样做将使启动 MongoDB 更加便捷和可记忆。

  • 在终端输入
bash
mongod

步骤五:关闭服务

在终端输入 mongo 后出现小箭头然后在小箭头后面输入下面的命令关闭服务

(1)首先切换管理员的角色

jsx
use admin

(2)输入下面命令,参数可写可不写

jsx
db.shutdownServer({force:true})

出现 server should be down… 代表关闭服务,这个时候网址 http://127.0.0.1:27017/ 刷新一下也是关闭的

https://image.myxuechao.com/mongoDB/mongodb-08.png

步骤六:通过配置文件启动

通过 mongodb.conf 配置文件来启动,里面就是指明了你的日志所在的路径以及数据所在的路径 以及你的端口等等

(1)创建 mongodb.conf

/usr/local/mongodb/ 目录下,如果 etc 目录不存在,就创建一个 etc 目录,并将 mongodb.conf 文件放入其中。

bash
#创建etc文件夹 mkdir -p /usr/local/mongodb/etc #创建mongodb.conf文件 touch /usr/local/mongodb/etc/mongodb.conf
  • mongodb目录结构展示
jsx
├── LICENSE-Community.txt ├── MPL-2 ├── README ├── THIRD-PARTY-NOTICES ├── bin │   ├── install_compass │   ├── mongo │   ├── mongod │   └── mongos ├── data │   └── db ├── etc │   └── mongo.conf └── log └── mongo.log

(2)修改 mongodb.conf

  • mongodb.conf 里的配置
jsx
# 有关所有选项的文档,请参见: # http://docs.mongodb.org/manual/reference/configuration-options/ # 日志数据的写入位置。 systemLog: destination: file logAppend: true path: /usr/local/mongodb/log/mongo.log # 数据存储位置和方式。 storage: dbPath: /usr/local/mongodb/data/db journal: enabled: true # 进程管理方式。 processManagement: fork: true # 后台运行,使用fork方式 # 网络接口配置。 net: port: 27017 bindIp: 127.0.0.1 # 安全性配置。 security: authorization: enabled

(3)启动

根据配置文件启动mongoDB

jsx
mongod -f /usr/local/mongodb/etc/mongodb.conf

其中包含了以下参数的解释:

  • mongod: 命令行工具的名称,用于启动 MongoDB 服务器进程。
  • f: 指定配置文件的路径(跟 -fork 一样都是表示在后台启动)。后面跟着 /usr/local/mongodb/etc/mongodb.conf,表示使用指定路径下的 mongodb.conf 文件作为 MongoDB 的配置文件。
  • /usr/local/mongodb/etc/mongodb.conf: 指定 MongoDB 的配置文件路径。在这个例子中,配置文件位于 /usr/local/mongodb/etc/ 目录下,并且文件名为 mongodb.conf

(4)输入完命令后查看是否启动成功

在终端中输入 mongo 如果出现小箭头你就发现启动成功了同样也可以去 http://127.0.0.1:27017/ 查看是否启动成功

步骤七:通过配置文件启动的服务关闭

如果你是和我一样,用mongoDB这个配置文件启动的时候 ,你会发现如果想要关闭的时候 ,会关闭不来出现下面的问题

jsx
Error: shutdownServer failed: { "ok" : 0, "errmsg" : "command shutdown requires authentication", "code" : 13, "codeName" : "Unauthorized" } : _getErrorWithCode@src/mongo/shell/utils.js:25:13 DB.prototype.shutdownServer@src/mongo/shell/db.js:441:19 @(shell):1:1

之所以出现这个原因是因为在配置文件中加入了 security 把它的权限给打开了

jsx
# 安全性配置。 security: authorization: enabled

步骤八:解决 security 把它的权限给打开了的问题

其实很简单,那么就是它没有权限给他赋予一个就好了

(1)建立root用户

jsx
db.createUser({user:"root",pwd:"123456",roles:[{role:"root",db:"admin"}]})

(2)登录

jsx
db.auth('root','123456')

(3)赋予权限

jsx
db.grantRolesToUser( "root" , [{role: "hostManager", db: "admin"}])

(4)重新关闭一下mongoDB

jsx
db.shutdownServer({force:true})

最后出现 server should be down… 代表关闭服务

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:LiuXueChao

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!