昨天(周六)终于给捅咕上了(
0x00.前言
还记得上篇文章中所说
MongoDB 4.4.0 移除了 2012 R2 的支持,不得不去升级了云主机系统
其实本来准备用到停止支持,毕竟2012 R2用习惯了还是很舒服的,而且新版的系统bug实在是太多了,就拿远程桌面举例经常「出现了内部错误」

0x01.授权认证
配置文件开启了rs副本集配置,但是可以不使用即远程连接的时候也只指定一个云主机
先在服务端配置用户名、密码,再映射到外网0.0.0.0并开启认证
1 | use admin |
内建角色
Read:允许用户读取指定数据库readWrite:允许用户读写指定数据库dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profileuserAdmin:允许用户向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 }