AWS/Linux yum 安装MongoDB(简单/详细)
本安装教程系统版本为Linux Centos 7,使用Yum源安装MongoDB
Yum源
使用 概括几个常用的:
// 1 安装
yum install package // 安装指定的安装包package
// 2 更新和升级
yum update // 全部更新
yum update package // 更新指定程序包package
yum check-update // 检查可更新的程序
yum upgrade package // 升级指定程序包package
// 3 查找和显示
yum info // 列出所有可以安装或更新的包的信息
yum info package //显示安装包信息package
yum list // 显示所有已经安装和可以安装的程序包
yum list package // 显示指定程序包安装情况package
yum search package // 搜索匹配特定字符的package的详细信息
// 4 删除程序
yum remove | erase package // 删除程序包package
yum deplist package // 查看程序package依赖情况
// 5 清除缓存
yum clean packages // 清除缓存目录下的软件包
yum clean headers // 清除缓存目录下的 headers
yum clean oldheaders // 清除缓存目录下旧的 headers
yum clean, yum clean all // (= yum clean packages; yum clean oldheaders) 清除缓存目录下的软件包及旧的headers
安装Mongodb
配置系统yum源
1. 创建.repo文件,生成mongodb的源
vi /etc/yum.repos.d/mongodb-org-4.0.repo
2. 添加以下配置信息:(根据需要去配置配置信息, 具体参看可以上网确认一下)
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/#releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
[mongodb-org-4.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
1 2 3 4 5 6 | [mongodb - org - 4.0 ] name = MongoDB Repository baseurl = https: / / repo.mongodb.org / yum / amazon / 2 / mongodb - org / 4.0 / x86_64 / gpgcheck = 1 enabled = 1 gpgkey = https: / / www.mongodb.org / static / pgp / server - 4.0 .asc |
详解:
name # 名称
baseurl # 获得下载的路径
gpkcheck=1 # 表示对从这个源下载的rpm包进行校验;
enable=1 # 表示启用这个源。
gpgkey # gpg验证
3. 保存退出
wq # 退出保存
使用yum安装MongoDB
1. 安装MongoDB
sudo yum install -y mongodb-org
如果报错ssl相关的报错 需要安装openssl 也就是mongo需要的依赖, 安装完后重新执行上面的mongo安装命令尝试安装:
yum install http: / / mirror.centos.org / centos / 8 - stream / AppStream / x86_64 / os / Packages / compat - openssl10 - 1.0 . 2o - 3.el8 .x86_64.rpm |
2. 验证安装结果
rpm -qa |grep mongodb
rpm -ql mongodb-org-server
3. 启动MongoDB
启动MongoDB服务
systemctl start mongod.service
复制代码
MongoDB默认端口是27017,查看是否开启
netstat -natp | grep 27017
复制代码
检查数据库是否安装成功
ps -aux | grep mongod # 查看数据库的进程是否存在
复制代码
4. 验证服务开启
mongo
复制代码
常用命令清单
// 1、开启MongoDB
sudo service mongod start 或者 systemctl start mongod.service # 开启MongoDB
sudo chkconfig mongod on # 加入开机启动
sudo service mongod restart # 重启MongoDB
// 2、关闭MongoDB
sudo service mongod stop # 关闭防火墙
// 3、卸载MongoDB
sudo yum erase $(rpm -qa | grep mongodb-org) # 卸载MongoDB
sudo rm -r /var/log/mongodb # 删除日志文件
sudo rm -r /var/lib/mongo # 删除数据文件
复制代码
远程连接Mongodb
1. 修改配置文件mongodb.conf
vi /etc/mongod.conf
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.
复制代码
修改绑定ip默认127.0.0.1只允许本地连接, 所以修改为bindIp:0.0.0.0, 退出保存
2. 重启mongodb服务
sudo service mongod restart
复制代码
3. 开放对外端口
方法一
systemctl status firewalld # 查看防火墙状态
firewall-cmd --zone=public --add-port=27017/tcp --permanent # mongodb默认端口号
firewall-cmd --reload # 重新加载防火墙
firewall-cmd --zone=public --query-port=27017/tcp # 查看端口号是否开放成功,输出yes开放成功,no则失败
复制代码
方法二
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 27017 -j ACCEPT
复制代码
4. 远程连接
默认连接
mongo 10.128.218.14:27017
复制代码
连接到自定义的用户
- 创建用户,设置账号,密码,权限
// admin数据库
> use admin
switched to db admin
> db.createUser({ user:"root", pwd:"123456", roles:["root"] })
Successfully added user: { "user" : "root", "roles" : [ "root" ] }
// 其他数据库
> use test
switched to db test
> db.createUser({ user:"admin", pwd:"123456", roles:["readWrite", "dbAdmin"] })
Successfully added user: { "user" : "root", "roles" : [ "root" ] }
复制代码
- 修改mongodb.conf文件,启用身份验证
vi /etc/mongod.conf
security:
authorization: "enabled" # disable or enabled
复制代码
- 重启MongoDB
sudo service mongod restart
复制代码
- 用户认证
> use admin
switched to db admin
> db.auth("root", "123456")
1 // 授权成功
复制代码
// 其他常用命令
db.updateUser(user, writeConcern) # 更新用户
db.dropUser('test') # 删除用户
复制代码
- 远程连接
// 终端连接
mongo 10.128.218.14:27017/database -u username -p password
// mongoose方式连接
mongoose.connect('mongodb://username:password@host:port/database?options...', {useNewUrlParser: true});
// 通过客户端连接
复制代码
用户权限角色说明
规则 | 说明 |
---|---|
root | 只在admin数据库中可用。超级账号,超级权限 |
Read | 允许用户读取指定数据库 |
readWrite | 允许用户读写指定数据库 |
dbAdmin | 允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile |
userAdmin | 允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户 |
clusterAdmin | 只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限 |
readAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的读权限 |
readWriteAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的读写权限 |
userAdminAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的userAdmin权限 |
dbAdminAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限 |
参考文献
- yum使用详解
- Install MongoDB Community Edition on Red Hat Enterprise or CentOS Linux
- CentOS 7上MongoDB数据库安装和卸载
- ubuntu mongodb远程连接配置
- How to Enable Authentication on MongoDB
- db.createUser()
转:
https://juejin.im/post/6844903828811153421
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)