windows安装mongodb

下载文件

首先在mongodb的官方网站上下载最新版本的mongodb安装程序

下载网址:MongoDB Community Download | MongoDB

image-20230503183639389

安装

下载好后双击安装,目录自行选择,这里以安装在E目录为例

安装好后原本是没有data文件和log文件夹的,这里我们需要自己手动创建这两个文件夹,并且要在data文件夹中在创建一个db文件夹

启动应用服务

以管理员身份运行cmd命令窗口,并进入至E:\MongoDB\bin目录下,执行以下命令

1
mongod --dbpath E:\MongoDB\data\db

image-20230503184044345

再打开一个cmd命令窗口,并且还是以管理员身份打开,进入到E:\MongoDB\bin目录下,执行以下命令

1
mongo

image-20230503184139974

如果出现这个界面就说明MongoDb已经启动成功了,但是要注意,这两个cmd命令框关闭后那么MongoDB也就结束服务了

使用配置文件启动MongoDB服务

E:\MongoDB\config下创建一个mongodb.conf文件,加入配置文件与直接运行命令的效果是一样的

1
2
3
4
5
6
dbpath=E:\MongoDb\data\db             # 数据库文件
logpath=E:\MongoDB\log\mongodb.log # 日志文件
logappend=true # 日志采用追加模式,配置后mongodb日志会追加到现有的日志文件,不会重新创建一个新文件
journal=true # 启用日志文件,默认启用
quiet=true # 这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为 false
port=27017 # 端口号 默认为 27017

然后运行命令:

1
sc create MongoDB binPath= "E:\MongoDB\bin\mongod.exe --service --config=E:\MongoDb\config\mongodb.conf"

添加环境变量

此时进入至mongodb的目录才可以使用mongodb的命令行工具,如果在其他的目录,是不可以使用mongodb的命令行工具的,我们可以将mongodb的目录加入至环境变量,这样在任何位置都可以使用mongodb命令行工具了

将mongodb的bin目录加入至path环境变量中即可

image-20230503184609716

ubuntu安装mongodb

导入包管理系统使用的公钥

从终端安装gnupg(如果尚不可用)

1
sudo apt-get install gnupg

发出以下命令以导入 MongoDB 公共 GPG 密钥https://pgp.mongodb.com/server-6.0.asc:

1
2
3
curl -fsSL https://pgp.mongodb.com/server-6.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-6.0.gpg \
--dearmor

为 MongoDB 创建一个列表文件

image-20230502161556772

/etc/apt/sources.list.d/mongodb-org-6.0.list为您的 Ubuntu 版本创建列表文件 。

单击适合您的 Ubuntu 版本的选项卡。如果您不确定主机正在运行哪个 Ubuntu 版本,请在主机上打开终端或 shell 并执行lsb_release -dc.

/etc/apt/sources.list.d/mongodb-org-6.0.list 为**Ubuntu 22.04 (Jammy)**创建 文件:

1
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list

/etc/apt/sources.list.d/mongodb-org-6.0.list 为**Ubuntu 20.04 (Focal)**创建 文件:

1
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list

/etc/apt/sources.list.d/mongodb-org-6.0.list 为**Ubuntu 18.04 (Bionic)**创建 文件:

1
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list

/etc/apt/sources.list.d/mongodb-org-6.0.list 为**Ubuntu 16.04 (Xenial)**创建 文件:

1
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list

重新加载本地包数据库

发出以下命令重新加载本地包数据库:

1
sudo apt-get update

安装 MongoDB 包

要安装最新的稳定版本,请发出以下命令

1
sudo apt-get install -y mongodb-org

要安装特定版本,您必须单独指定每个组件包以及版本号,如下例所示:

1
sudo apt-get install -y mongodb-org=6.0.7 mongodb-org-database=6.0.7 mongodb-org-server=6.0.7 mongodb-org-mongos=6.0.7 mongodb-org-tools=6.0.7

如果您只安装mongodb-org=6.0.7而不包含组件包,则无论您指定哪个版本,都将安装每个 MongoDB 包的最新版本。

尽管您可以指定 MongoDB 的任何可用版本, apt-get但当有新版本可用时将升级包。为了防止意外升级,您可以将软件包固定在当前安装的版本上:

1
2
3
4
5
6
echo "mongodb-org hold" | sudo dpkg --set-selections
echo "mongodb-org-database hold" | sudo dpkg --set-selections
echo "mongodb-org-server hold" | sudo dpkg --set-selections
echo "mongodb-mongosh hold" | sudo dpkg --set-selections
echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
echo "mongodb-org-tools hold" | sudo dpkg --set-selections

使用mongo命令进入MongoDB shell

image-20230502161939006

如果出现找不到mongo命令,可使用mongosh命令查看(新版本)

Docker 安装 MongoDB

拉取指定版本MongoDB镜像

1
docker pull mongo:4.4

运行容器

运行 mongo 容器:

1
docker run -itd --name mongo -v 本地目录:/data/db -p 27017:27017 mongo:4.4 --auth

参数说明:

  • -p 27017:27017 :映射容器服务的 27017(后) 端口到宿主机的 27017(前) 端口,外部可以直接通过 宿主机 ip:27017 访问到 mongo 的服务。
  • –auth:需要密码才能访问容器服务。

进入容器,并进入到admin数据库

1
docker exec -it mongo mongo admin

image-20230502170128664

mongodb基础配置

创建一个超级管理员root

1
2
db.createUser({user: "root",pwd: "your password", roles: [ { role: "root", db: "admin" } ]});
db.createUser({ user:'root',pwd:'your password',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},'readWriteAnyDatabase']});

image-20230502162144553

验证用户是否添加成功

1
db.auth("root", "your password") #如果返回1,则表示成功

image-20230502162537800

修改默认端口和希望外网访问(可选)

vim /etc/mongodb.conf

修改端口

port=端口号

外网访问

bind_ip = 127.0.0.1修改bind_ip = 0.0.0.0,同时记得关闭防火墙

开启服务

sudo service mongodb start

停止服务

sudo service mongodb stop

重启服务

sudo service mongodb restart

修改端口后进入mongodb:mongo --port 端口号

必须另外创建自己的数据库和对应的用户,root数据库不能直接使用

卸载 MongoDB 社区版(ubuntu)

停止 MongoDB

mongod通过发出以下命令来停止该进程:

1
sudo service mongod stop

删除包

删除您之前安装的所有 MongoDB 软件包。

1
sudo apt-get purge mongodb-org*

删除数据目录

删除 MongoDB 数据库和日志文件。

1
2
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb