昨天(周六)终于给捅咕上了(
0x00.前言
还记得上篇文章中所说
MongoDB 4.4.0 移除了 2012 R2 的支持,不得不去升级了云主机系统
其实本来准备用到停止支持,毕竟2012 R2
用习惯了还是很舒服的,而且新版的系统bug
实在是太多了,就拿远程桌面举例经常「出现了内部错误」
0x01.授权认证
配置文件开启了rs
副本集配置,但是可以不使用即远程连接的时候也只指定一个云主机
先在服务端配置用户名、密码,再映射到外网0.0.0.0
并开启认证
1 | use admin |
内建角色
Read
:允许用户读取指定数据库readWrite
:允许用户读写指定数据库dbAdmin
:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin
:允许用户向system.users
集合写入,可以找指定数据库里创建、删除和管理用户clusterAdmin
:只在admin
数据库中可用,赋予用户所有分片和复制集相关函数的管理权限readAnyDatabase
:只在admin
数据库中可用,赋予用户所有数据库的读权限readWriteAnyDatabase
:只在admin
数据库中可用,赋予用户所有数据库的读写权限userAdminAnyDatabase
:只在admin
数据库中可用,赋予用户所有数据库的userAdmin
权限dbAdminAnyDatabase
:只在admin
数据库中可用,赋予用户所有数据库的dbAdmin
权限root
:只在admin
数据库中可用。超级账号,超级权限
之后的命令行认证方法:
1 | use admin |
由于是重装了系统,因此需要重新配置文件夹的权限(不要说Windows
下没有Linux
的文件夹权限
0x02.升级姿势
举个栗子,从4.2
升级至4.4
,需要在旧版本中运行
查询:db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
返回:{ featureCompatibilityVersion: { version: '4.2' }, ok: 1 }
设定:db.adminCommand( { setFeatureCompatibilityVersion: "4.4" } )
返回:{ ok: 1 }
查询:db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
返回:{ featureCompatibilityVersion: { version: '4.4' }, ok: 1 }