一、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工具
安装mongo服务后,使用Compass连接数据库
连接字符串:
mongodb://localhost:27017/
也就是说默认情况下,mongodb不用户名/密码方式就能访问。
需要安全访问的话,就要使用鉴权模式,创建用户了。
注意!!!! 有些教程教你用命令sc delete mongo
从windows删掉mongo服务,是大雷。
删了mongo服务后,再新建mongo服务会踩不少坑,且服务不一定能正常运行。
别问我怎么知道的,因为我踩过!!!
假设你误信了乱七八糟教程,删了服务,最好的办法是使用mongo安装包,选择repair
修复,
能帮你重新安装服务,且保证数据库里的东西不丢失。
创建数据库角色
打开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,输入 exit
或ctrl+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})
博主真是太厉害了!!!
叼茂SEO.bfbikes.com
不错不错,我喜欢看
想想你的文章写的特别好
叼茂SEO.bfbikes.com
叼茂SEO.bfbikes.com
想想你的文章写的特别好https://www.237fa.com/
看的我热血沸腾啊www.jiwenlaw.com
不错不错,我喜欢看 www.jiwenlaw.com
鲁大师蓝月传奇官网攻略:https://501h.com/yuanshi/8916.html
《外滩520》国产动漫高清在线免费观看:https://www.jgz518.com/xingkong/118706.html
《我的左手右手》国产剧高清在线免费观看:https://www.jgz518.com/xingkong/37633.html
真棒!
真好呢
《我家徒弟又挂了》国产剧高清在线免费观看:https://www.jgz518.com/xingkong/34536.html
《车轴》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/135155.html
《一名母亲的三重死亡》记录片高清在线免费观看:https://www.jgz518.com/xingkong/2970.html
《W-两个世界(马来西亚版)》海外剧高清在线免费观看:https://www.jgz518.com/xingkong/25085.html
《我家徒弟又挂了》国产剧高清在线免费观看:https://www.jgz518.com/xingkong/34536.html
《开心的八月》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/73265.html
《唐璜2022》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/96428.html
《车轴》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/135155.html
《白狼勇士》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/61805.html
《一名母亲的三重死亡》记录片高清在线免费观看:https://www.jgz518.com/xingkong/2970.html
《唐璜2022》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/96428.html
《车轴》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/135155.html
《一名母亲的三重死亡》记录片高清在线免费观看:https://www.jgz518.com/xingkong/2970.html
《W-两个世界(马来西亚版)》海外剧高清在线免费观看:https://www.jgz518.com/xingkong/25085.html
《白狼勇士》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/61805.html
《一名母亲的三重死亡》记录片高清在线免费观看:https://www.jgz518.com/xingkong/2970.html
《W-两个世界(马来西亚版)》海外剧高清在线免费观看:https://www.jgz518.com/xingkong/25085.html
《白狼勇士》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/61805.html
《远大前程双龙会》国产剧高清在线免费观看:https://www.jgz518.com/xingkong/103550.html
《你追我赶2010》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/123289.html
《失控危机》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/159187.html
《杀手迷情》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/130925.html
《白种元的小巷餐厅》日韩综艺高清在线免费观看:https://www.jgz518.com/xingkong/150667.html
《川味第四季》记录片高清在线免费观看:https://www.jgz518.com/xingkong/20110.html
《惊世媳妇》日本剧高清在线免费观看:https://www.jgz518.com/xingkong/31275.html
《毛驴县令之草鞋公主》喜剧片高清在线免费观看:https://www.jgz518.com/xingkong/52281.html
哈哈哈,写的太好了https://www.lawjida.com/
案例丰富且贴合主题,论证逻辑环环相扣。
每一个段落都紧密相连,逻辑清晰,展现了作者高超的写作技巧。
终极关怀的缺失可尝试补充升华。
悬念设置恰到好处,牢牢抓住读者注意力。
每一个段落都紧密相连,逻辑清晰,展现了作者高超的写作技巧。
文章紧扣主题,观点鲜明,展现出深刻的思考维度。
这篇文章如同一首动人的乐章,触动了读者内心深处的柔软。