MongoDB数据安装
这篇文章提供了详细的步骤和指南,用于在本地安装和配置 MongoDB,包括下载安装包、解压、配置环境变量、启动 MongoDB 服务,并通过配置文件进行管理和关闭服务。重点在于如何手动设置 MongoDB 的数据和日志存储路径,以及如何通过配置文件和命令行来启动和关闭 MongoDB 服务。
下载好安装包后解压后重新命名为
mongodb
把它放在自己想放的位置我默认放在/usr/local
这个地方
在终端中输入:open /usr/local
就打开这个文件夹了
首先需要打开一个
bash_profile
的文件,配置环境变量
jsx open ~/.bash_profile
jsxexport PATH=${PATH}:/usr/local/mongodb/bin
jsxsource .bash_profile
jsxmongod --version
jsxdb version v5.0.14
Build Info: {
"version": "5.0.14",
"gitVersion": "1b3b0073a0b436a8a502b612f24fb2bd572772e5",
"modules": [],
"allocator": "system",
"environment": {
"distarch": "x86_64",
"target_arch": "x86_64"
}
}
如果你跟我一样是从官网上下载的
mongoDB
那么你会发现在它的目录下是没有关于日志
以及数据
存放的位置的
这里为了方便,我就把这两个文件夹建立在
mongoDB
的文件路径下,其实呢你建立在其他任何地方也都是ok的
jsx# 使用 sudo 获取管理员权限 #创建存放数据库 sudo mkdir -p /usr/local/mongoDB/data/db #创建存放日志 sudo mkdir -p /usr/local/mongoDB/log
username
表示自己的电脑用户名称我的叫liuxuechao
给data
跟log
两个文件夹分别赋予权限
bash # 使用 whoami 命令来查看当前登录到计算机的用户名
whoami
# 给data跟log目录以及它们的所有子目录和文件的所有权,使它们都属于 liuxuechao 用户
sudo chown -R liuxuechao /usr/local/mongodb/data
sudo chown -R liuxuechao /usr/local/mongodb/log
(重点)
MongoDB 是一个数据库系统,它包括了以下关键组件:
mongod
命令来启动 MongoDB 服务器。mongo
命令来启动 MongoDB 客户端。使用 mongod
命令可以启动 MongoDB 服务器。服务器是MongoDB的核心组件,它负责管理和存储数据。启动服务器是为了使数据库处于运行状态,以便客户端能够连接并操作数据。
使用 mongo
命令可以启动 MongoDB 客户端。客户端是用于与服务器进行交互的工具,您可以使用它执行数据库操作,例如查询、插入、更新和删除数据。MongoDB 客户端允许您与数据库进行交互,并执行各种操作,从而管理和查询数据。
它比MySql启动复杂,需要手动指定
存储数据的位置
以及对应日志的位置
jsxmongod --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
: 如果日志文件已经存在,将日志追加到现有文件的末尾。如果出现了下面图片选中的样子,证明启动成功
如果出现下面图片的小箭头也可以证明启动成功
浏览器输入
http://127.0.0.1:27017/
如果出现It looks like you are trying to access MongoDB over HTTP on the native driver port.
证明启动成功。
为了简化
启动 MongoDB
的过程,你可以创建一个别名 (alias)
。这个别名将使你只需输入 "**mongod**
" 命令,而不必每次都键入完整的启动命令。这将让 MongoDB 的启动过程更加方便,不再需要记住或手动输入冗长的命令。
nano
或 vim
)打开你的 shell 配置文件。通常,这个文件是 ~/.bashrc
或 ~/.bash_profile
(取决于你使用的 shell)。bashalias 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 数据目录和日志目录。
保存文件并退出文本编辑器。
bashsource ~/.bash_profile # 如果你使用的是 ~/.bash_profile
现在,当你在
终端
中输入
"mongod
" 时,它将自动以你指定的选项启动 MongoDB,无需再键入长命令。这样做将使启动 MongoDB 更加便捷和可记忆。
bashmongod
在终端输入
mongo
后出现小箭头
然后在小箭头后面输入下面的命令关闭服务
jsxuse admin
jsxdb.shutdownServer({force:true})
出现 server should be down…
代表关闭服务,这个时候网址 http://127.0.0.1:27017/
刷新一下也是关闭的
通过
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
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
jsxmongod -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
。在终端中输入
mongo
如果出现小箭头
你就发现启动成功了同样也可以去http://127.0.0.1:27017/
查看是否启动成功
如果你是和我一样,用mongoDB这个配置文件启动的时候 ,你会发现如果想要关闭的时候 ,会关闭不来出现下面的问题
jsxError: 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
其实很简单,那么就是它没有权限给他赋予一个就好了
jsxdb.createUser({user:"root",pwd:"123456",roles:[{role:"root",db:"admin"}]})
jsxdb.auth('root','123456')
jsxdb.grantRolesToUser( "root" , [{role: "hostManager", db: "admin"}])
jsxdb.shutdownServer({force:true})
最后出现 server should be down…
代表关闭服务
本文作者:LiuXueChao
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!