mongodb使用:安装、修复服务、账号鉴权访问、增删改查
标签搜索

mongodb使用:安装、修复服务、账号鉴权访问、增删改查

litery
2024-07-15 / 52 评论 / 359 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2024年08月15日,已超过432天没有更新,若内容或图片失效,请留言反馈。

一、windows部分

下载mongo安装包,一路默认安装。

输入指令:
mongos --version
结果:
mongos version v7.0.11
Build Info: {
    "version": "7.0.11",
    "gitVersion": "f451220f0df2b9dfe073f1521837f8ec5c208a8c",
    "modules": [],
    "allocator": "tcmalloc",
    "environment": {
        "distmod": "windows",
        "distarch": "x86_64",
        "target_arch": "x86_64"
    }
}

下载图形版操作工具 Mongodb Compass

MongoDB Compass Download (GUI)

由于mongo4.4以后不提供shell工具,需在官网下载mongo shell工具

MongoDB Shell Download

安装mongo服务后,使用Compass连接数据库

连接字符串:

mongodb://localhost:27017/

也就是说默认情况下,mongodb不用户名/密码方式就能访问。
需要安全访问的话,就要使用鉴权模式,创建用户了。

注意!!!! 有些教程教你用命令sc delete mongo 从windows删掉mongo服务,是大雷。
删了mongo服务后,再新建mongo服务会踩不少坑,且服务不一定能正常运行。
别问我怎么知道的,因为我踩过!!!

避雷: 为什么windows无法启动MongoDB Server位于本地计算机上?

假设你误信了乱七八糟教程,删了服务,最好的办法是使用mongo安装包,选择repair修复,
能帮你重新安装服务,且保证数据库里的东西不丢失。
lymn0wy2.png

创建数据库角色

打开mongo shell工具
输入命令: show users
默认下,结果为 [],空的。
输入命令:

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

创建一个超级管理员账号,拥有对mongo数据库的完全使用权限。
再输入命令: show users
输出结果:

[
  {
    _id: 'admin.admin',
    userId: UUID('e81f0a3d-8bf9-476a-bcf0-***************'),
    user: 'user',
    db: 'admin',
    roles: [ { role: 'root', db: 'admin' } ],
    mechanisms: [ 'SCRAM-SHA-1', 'SCRAM-SHA-256' ]
  }
]

说明创建用户成功。

mongo切换为鉴权模式

使用文本编辑器打开mongod.cfg配置文件
我的路径在C盘,想修改,需要用管理员模式运行文本编辑器
C:\Program Files\MongoDB\Server\7.0\bin\mongod.cfg

mongod.cfg 实际上是个YAML文件

修改security项

#security改为

security:
authorization: enabled

重启数据库服务

管理员模式运行windows的CMD,输入命令:

net stop mongodb
net start mongodb

鉴权应该就生效了。
打开mongo shell工具,要求输入连接字符串,格式如:

mongodb://user:pwd@localhost:27017/?authSource=admin

用户名密码正确的话,界面显示内容:

Current Mongosh Log ID: 6694baea6d50046330c4e49a
Connecting to: mongodb://<credentials>@localhost:27017/?authSourc>e=admin&directConnection=true&serverSelectionTimeoutMS=2000&appName=mongos>h+2.2.12
Using MongoDB: 7.0.11
Using Mongosh: 2.2.12

表示授权模式用户名密码访问mongo数据库成功。

创建数据库、创建集合、简单增删改查在 第三部分 说明。

二、linux部分

云盘分享安装文件

注意,我是在alibaba cloud linux3云主机上安装mongo,其它linux机器未验证!!

1. 添加 MongoDB YUM 仓库

首先,确保已经添加了 MongoDB 的 YUM 仓库:

sudo vi /etc/yum.repos.d/mongodb-org-5.0.repo

在文件中添加以下内容:

[mongodb-org-5.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/5.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc

2. 单独安装 MongoDB 服务器和 shell

使用以下命令单独安装 MongoDB 服务器和 shell:

sudo yum install -y mongodb-org-server mongodb-org-shell

3. 验证安装

安装完成后,启动 MongoDB 服务并验证安装:

sudo systemctl start mongod
sudo systemctl enable mongod
mongo --eval 'db.runCommand({ connectionStatus: 1 })'

验证成功输出内容:

MongoDB shell version v5.0.28
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("959716fd-1d66-4665-9620-2fc8cb96ec99") }
MongoDB server version: 5.0.28
{
        "authInfo" : {
                "authenticatedUsers" : [ ],
                "authenticatedUserRoles" : [ ]
        },
        "ok" : 1
}

输入mongo通过shell工具连接到mongodb。
退出shell,输入 exitctrl+d

4.创建管理员角色

创建一个超级管理员账号,拥有对linux下的mongo数据库的完全使用权限。
输入

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

输出

Successfully added user: {
        "user" : "admin",
        "roles" : [
                {
                        "role" : "userAdminAnyDatabase",
                        "db" : "admin"
                }
        ]
}

表示创建成功

5.更改配置,以鉴权模式访问

nano /etc/mongod.conf

同windows,#security改为
security:
  authorization: enabled

重启mongo服务(start、stop、restart)

sudo systemctl restart mongod

查看服务状态

sudo systemctl restart mongod

退出服务状态查看界面
q
如果服务异常如下所示:

mongod.service - MongoDB Database Server
   Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor pre>
   Active: failed (Result: exit-code) since Tue 2024-07-16 14:39:58 CST; 2min >
     Docs: https://docs.mongodb.org/manual
  Process: 48630 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=2)
 Main PID: 48630 (code=exited, status=2)

需要注意security项修改对不对,符不符合YAML语法,特别是子项下的两个空格缩进。

输入mongo连不上服务,status=14

 mongod.service - MongoDB Database Server
   Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor pre>
   Active: failed (Result: exit-code) since Tue 2024-07-16 15:21:55 CST; 40s a>
     Docs: https://docs.mongodb.org/manual
  Process: 48848 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=14)
 Main PID: 48848 (code=exited, status=14)

需要检查并删除套接字文件: 有时,旧的套接字文件会导致 MongoDB 无法启动。

sudo rm /tmp/mongodb-27017.sock

解析conf文件是否有错误

mongod --config /etc/mongod.conf

查看mongo 最近的50条日志

tail -n 50 /var/log/mongodb/mongod.log

服务正常启动的话,通过命令访问:

mongo -u "admin" -p "mongo" --authenticationDatabase "admin"

进来后,查看数据库

> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB

至此,windows和linux下mongodb都能正常访问了。

6. 远程访问linux下的mongo服务

使用 firewalld 来管理防火墙规则。以下是如何开放 MongoDB 端口 27017 的步骤:

启动 firewalld 服务:

sudo systemctl start firewalld

设置防火墙规则:

sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent

重新加载防火墙规则:

sudo firewall-cmd --reload

检查防火墙状态:
确保端口已成功开放:

sudo firewall-cmd --list-ports

绑定 IP 地址:
确保 MongoDB 配置文件中绑定了正确的 IP 地址。在 /etc/mongod.conf 中设置 bindIp 为 0.0.0.0 以允许所有 IP 地址访问:

net:
  port: 27017
  bindIp: 0.0.0.0

阿里云控制台中配置安全组规则,允许 27017 端口的入站流量

登录阿里云管理控制台。
找到你的云服务器实例,进入其管理页面。
在左侧导航栏中选择“安全组”。
找到要修改的安全组,点击“配置规则”。
在访问规则中添加 27017 端口的入方向规则。

telnet 目标ip 27017,进去的话表明可以访问27017端口了。

用mongodb compass工具在授权模式下访问即可。

7.其他注意事项

  • 兼容性:Alibaba Cloud Linux 3 基于龙蜥社区(OpenAnolis)的龙蜥操作系统(Anolis OS),全面兼容 RHEL/CentOS 8生态。
  • 配置文件:MongoDB 的配置文件路径为 /etc/mongod.conf,日志文件路径为 /var/log/mongodb/mongod.log,数据文件路径为 /var/lib/mongo。

三、mongodb操作数据库

yuanbill> db.bill.countDocuments()
68
yuanbill> db.bill.countDocuments({_id:74})
1
yuanbill> db.bill.find({_id:74})
0

评论 (52)

取消
  1. 头像
    dkcxkhlgak
    Windows 10 · Google Chrome

    博主真是太厉害了!!!

    回复
  2. 头像
    gueaddffhb
    Windows 10 · Google Chrome

    叼茂SEO.bfbikes.com

    回复
  3. 头像
    haucjfsfis
    Windows 10 · Google Chrome

    不错不错,我喜欢看

    回复
  4. 头像
    khrputdoqi
    Windows 10 · Google Chrome

    想想你的文章写的特别好

    回复
  5. 头像
    baesghhncq
    Windows 10 · Google Chrome

    叼茂SEO.bfbikes.com

    回复
  6. 头像
    zcczajrwby
    Windows 10 · Google Chrome

    叼茂SEO.bfbikes.com

    回复
  7. 头像
    qvokespijm
    Windows 10 · Google Chrome

    想想你的文章写的特别好https://www.237fa.com/

    回复
  8. 头像
    rgjqqsmmcj
    Windows 10 · Google Chrome

    看的我热血沸腾啊www.jiwenlaw.com

    回复
  9. 头像
    fznvezhvlw
    Windows 10 · Google Chrome

    不错不错,我喜欢看 www.jiwenlaw.com

    回复
  10. 头像
    ntlegqhnfq
    Windows 10 · Google Chrome

    鲁大师蓝月传奇官网攻略:https://501h.com/yuanshi/8916.html

    回复
  11. 头像
    cqqqpmlroa
    Windows 10 · Google Chrome

    《外滩520》国产动漫高清在线免费观看:https://www.jgz518.com/xingkong/118706.html

    回复
  12. 头像
    jqrbugrbzw
    Windows 10 · Google Chrome

    《我的左手右手》国产剧高清在线免费观看:https://www.jgz518.com/xingkong/37633.html

    回复
  13. 头像
    iozcenhiyt
    Windows 10 · Google Chrome

    真棒!

    回复
  14. 头像
    peilqxkxrq
    Windows 10 · Google Chrome

    真好呢

    回复
  15. 头像
    kuqohzedgl
    Windows 10 · Google Chrome

    《我家徒弟又挂了》国产剧高清在线免费观看:https://www.jgz518.com/xingkong/34536.html

    回复
  16. 头像
    goafjnxout
    Windows 10 · Google Chrome

    《车轴》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/135155.html

    回复
  17. 头像
    xspcbhzslq
    Windows 10 · Google Chrome

    《一名母亲的三重死亡》记录片高清在线免费观看:https://www.jgz518.com/xingkong/2970.html

    回复
  18. 头像
    hkvbyveoxf
    Windows 10 · Google Chrome

    《W-两个世界(马来西亚版)》海外剧高清在线免费观看:https://www.jgz518.com/xingkong/25085.html

    回复
  19. 头像
    sarxfxyfav
    Windows 10 · Google Chrome

    《我家徒弟又挂了》国产剧高清在线免费观看:https://www.jgz518.com/xingkong/34536.html

    回复
  20. 头像
    uujoamkxai
    Windows 10 · Google Chrome

    《开心的八月》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/73265.html

    回复
  21. 头像
    sgwqbbmeui
    Windows 10 · Google Chrome

    《唐璜2022》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/96428.html

    回复
  22. 头像
    ycmlqbagez
    Windows 10 · Google Chrome

    《车轴》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/135155.html

    回复
  23. 头像
    npxpvbtzfz
    Windows 10 · Google Chrome

    《白狼勇士》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/61805.html

    回复
  24. 头像
    fnlemqzdew
    Windows 10 · Google Chrome

    《一名母亲的三重死亡》记录片高清在线免费观看:https://www.jgz518.com/xingkong/2970.html

    回复
  25. 头像
    knpvahmffv
    Windows 10 · Google Chrome

    《唐璜2022》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/96428.html

    回复
  26. 头像
    lzqgmygdtf
    Windows 10 · Google Chrome

    《车轴》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/135155.html

    回复
  27. 头像
    yfsrjpnzqi
    Windows 10 · Google Chrome

    《一名母亲的三重死亡》记录片高清在线免费观看:https://www.jgz518.com/xingkong/2970.html

    回复
  28. 头像
    zkslxpuzng
    Windows 10 · Google Chrome

    《W-两个世界(马来西亚版)》海外剧高清在线免费观看:https://www.jgz518.com/xingkong/25085.html

    回复
  29. 头像
    iexiutlrnt
    Windows 10 · Google Chrome

    《白狼勇士》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/61805.html

    回复
  30. 头像
    cbrjogyjpo
    Windows 10 · Google Chrome

    《一名母亲的三重死亡》记录片高清在线免费观看:https://www.jgz518.com/xingkong/2970.html

    回复
  31. 头像
    ilgzlrwpde
    Windows 10 · Google Chrome

    《W-两个世界(马来西亚版)》海外剧高清在线免费观看:https://www.jgz518.com/xingkong/25085.html

    回复
  32. 头像
    vyajlabhge
    Windows 10 · Google Chrome

    《白狼勇士》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/61805.html

    回复
  33. 头像
    murejwboxw
    Windows 10 · Google Chrome

    《远大前程双龙会》国产剧高清在线免费观看:https://www.jgz518.com/xingkong/103550.html

    回复
  34. 头像
    ratykpnzdj
    Windows 10 · Google Chrome

    《你追我赶2010》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/123289.html

    回复
  35. 头像
    tahgqedvdo
    Windows 10 · Google Chrome

    《失控危机》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/159187.html

    回复
  36. 头像
    rzxqvbtzaw
    Windows 10 · Google Chrome

    《杀手迷情》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/130925.html

    回复
  37. 头像
    jrvccphbuh
    Windows 10 · Google Chrome

    《白种元的小巷餐厅》日韩综艺高清在线免费观看:https://www.jgz518.com/xingkong/150667.html

    回复
  38. 头像
    xtbgxjvgoh
    Windows 10 · Google Chrome

    《川味第四季》记录片高清在线免费观看:https://www.jgz518.com/xingkong/20110.html

    回复
  39. 头像
    zbjhgfmenb
    Windows 10 · Google Chrome

    《惊世媳妇》日本剧高清在线免费观看:https://www.jgz518.com/xingkong/31275.html

    回复
  40. 头像
    zqggftopyn
    Windows 10 · Google Chrome

    《毛驴县令之草鞋公主》喜剧片高清在线免费观看:https://www.jgz518.com/xingkong/52281.html

    回复
  41. 头像
    oauowjdlft
    Windows 10 · Google Chrome

    哈哈哈,写的太好了https://www.lawjida.com/

    回复
  42. 头像
    bgybcwhibc
    Windows 10 · Google Chrome

    案例丰富且贴合主题,论证逻辑环环相扣。

    回复
  43. 头像
    akqtncevxb
    Windows 10 · Google Chrome

    每一个段落都紧密相连,逻辑清晰,展现了作者高超的写作技巧。

    回复
  44. 头像
    lppmolydzc
    Windows 10 · Google Chrome

    终极关怀的缺失可尝试补充升华。

    回复
  45. 头像
    sxaiqezfac
    Windows 10 · Google Chrome

    悬念设置恰到好处,牢牢抓住读者注意力。

    回复
  46. 头像
    tecfnfbgnx
    Windows 10 · Google Chrome

    每一个段落都紧密相连,逻辑清晰,展现了作者高超的写作技巧。

    回复
  47. 头像
    dkacndwmda
    Windows 10 · Google Chrome

    文章紧扣主题,观点鲜明,展现出深刻的思考维度。

    回复
  48. 头像
    kpwjkslukr
    Windows 10 · Google Chrome

    这篇文章如同一首动人的乐章,触动了读者内心深处的柔软。

    回复
  49. 头像
    sgpquppmny
    Windows 10 · Google Chrome

    新盘首开 新盘首开 征召客户!!!

    回复
  50. 头像
    mbfnljxrme
    Windows 10 · Google Chrome

    新盘首开 新盘首开 征召客户!!!coinsrore.com

    回复
  51. 头像
    gzdfmpojyf
    Windows 10 · Google Chrome

    2025年10月新盘 做第一批吃螃蟹的人coinsrore.com
    新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
    新车首发,新的一年,只带想赚米的人coinsrore.com
    新盘 上车集合 留下 我要发发 立马进裙coinsrore.com
    做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
    新车上路,只带前10个人coinsrore.com
    新盘首开 新盘首开 征召客户!!!coinsrore.com
    新项目准备上线,寻找志同道合的合作伙伴coinsrore.com
    新车即将上线 真正的项目,期待你的参与coinsrore.com
    新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
    新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com

    回复
  52. 头像
    shqrysnbcy
    Windows 10 · Google Chrome

    2025年10月新盘 做第一批吃螃蟹的人coinsrore.com
    新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
    新车首发,新的一年,只带想赚米的人coinsrore.com
    新盘 上车集合 留下 我要发发 立马进裙coinsrore.com
    做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
    新车上路,只带前10个人coinsrore.com
    新盘首开 新盘首开 征召客户!!!coinsrore.com
    新项目准备上线,寻找志同道合 的合作伙伴coinsrore.com
    新车即将上线 真正的项目,期待你的参与coinsrore.com
    新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
    新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com

    回复