MongoDB安装教程

下载

下载地址:官网

image-20210719161213077

下载解压缩版本,一次配置可以复制到多个地方使用

安装

解压缩版本下载完成后,解压到电脑空间足够大的地方,并牢记。

解压后的文件有

image-20210719161956504

需要新建两个文件夹

解压后的当前路径/data/db

解压后的当前路径/log/mongo.log

新建后的文件有

image-20210719162442919

配置环境变量

将所需的文件夹创建成功以后需要将运行程序加入到系统环境变量中,添加后的结果为

image-20210719162757063

⚠注意保存(一直点确定,直到退出环境变量的配置界面)

配置完成后,在cmd中输入mongo进行测试

  1. 如果输入mongo后提示无效指令,建议重启电脑,使环境变量生效(其实已经生效了,但是没有完全生效)
  2. image-20210719163437862

配置mongod服务

将mongod服务注册为windows服务,并设置为开机自启(减少麻烦)

打开cmd窗口输入以下命令(注意以管理员方式打开cmd窗口)

mongod --dbpath "E:\mongodb446\data\db" --logpath "E:\mongodb446\mongo.log" -install -serviceName "MongoDB"

如果此处没有报错,mongod服务注册成功,可以打开服务项查看一下

服务项打开方式

  1. 任务管理器进入
  2. Win+R输入services.msc

到此为止,MongoDB数据库已经安装完毕,后面使简单的项目运行所需要的配置

配置单节点副本集模式

在和bin目录同级目录下创建一个mongo.conf文件

systemLog:
  destination: file
  path: D:\DataSet\mongodb446\log\MongoDB.log
  logAppend: true
storage:
  dbPath: D:\DataSet\mongodb446\data\db
net:
  bindIp: 127.0.0.1

replication:
  replSetName: rs0

使用此配置重新创建MongoDB服务

如果原先有MongoDB服务,先删除再创建

# 使用管理员权限进入cmd终端,并运行
sc delete "原先的MongoDB服务名称"

使用mongo.conf创建一个MongoDB服务

# 如果没有配置环境变量的话移动当前目录到mongodb的bin目录
mongod --config "mongo.conf所在目录的全路径" --install --serviceName "MongoDB"

服务启动后使用mongo命令进入shell操作界面

# 输入如下命令
rs.initiate()

rs.secondaryOk()

rs.status()

出现以下界面则成功配置副本集

image-20210810093007591

添加账号密码(保证数据安全)

mongodb密码和传统数据如mysql等有些区别: mongodb的用户名和密码是基于特定数据库的,而不是基于整个系统的。所有所有数据库db都需要设置密码。

  1. 查看所有数据库(在mongodb新版本里并没有admin数据库,但是并不妨碍第2步操作。)

    show dbs # 这里的flask_demo是自己创建的
    

    image-20210719164638426

  2. 进入admin数据库

    use admin
    

    image-20210719164900120

  3. 创建管理员账户

    db.createUser({ user: "admin", pwd: "password", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
    

    mongodb中的用户是基于身份role的,该管理员账户的 role是 userAdminAnyDatabase。admin用户用于管理账号,不能进行关闭数据库等操作。

  4. 创建root

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

    创建完admin管理员,创建一个超级管理员root。角色:root。root角色用于关闭数据库。

  5. 创建自己的数据库的管理角色

    use yourdatabase
    
    db.createUser({user:"user",pwd:"password",roles:[{role:"dbOwner",db:"yourdatabase"}]})
    

    role: "dbOwner"代表数据库所有者角色,拥有最高该数据库最高权限。比如新建索引等当账号管理员和超级管理员,可以为自己的数据库创建用户了。(坑)这时候一定,一定要切换到所在数据库上去创建用户,不然创建的用户还是属于admin。

    如果是读写角色的话,权限设置为role: “readWrite”

  6. 查看用户

    show users
    
  7. 删除用户

    删除用户必须由账号管理员来删,所以需要切换到admin角色

    use admin
    
    db.auth("admin","password") # 用户名和密码是自己设置的别犯傻
    
    # 删除单个用户
    db.system.users.remove({user:"XXX"})
    
    # 删除所有用户
    db.system.users.remove({})
    

可视化操作

MongoDB的GUI操作界面好几个,我自己使用的是Navicat,别的也行,这个看自己喜好。

参考:

  1. mongodb 设置账号和密码_HH_KELE的专栏-CSDN博客
  2. 最详细的Windows平台安装MongoDB教程
  3. Mongo开启事务之副本集采坑 (driverzhang.github.io)
  4. Windows下删除不需要的服务_徐刘根的博客-CSDN博客
  5. Windows安装mongodb并配置为Windows服务_CaptainCats的博客-CSDN博客
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐