MongoDB加密安装(针对3.4.9和4.2版本)
3.4.9版本MongoDB安装需要完成以下除步骤3以外的4个步骤,4.2的版本只需要完成前3步。
注意:MongoDB4.2以上版本,需要使用Robo3T 1.3.1连接,低版本无法连接会报错。
1. 先创建无需验证登录的MongoDB服务,此第1步的操作主要针对3.4.9版本,4.2版本直接下一步下一步即可:
1.点击mongodb-win32-x86_64-2008plus-3.4.9-signed.msi;
2.选择自定义安装,路径设置为D:\mongodb;
3.配置环境变量在path最后添加上mongodb安装目录下的bin文件夹如D:\mongodb\bin;
4.在安装目录创建db和log文件夹,在db文件下再新建名称为“rs1”的文件夹;
5.管理员运行cmd进入到mongo\bin目录;
6.在命令窗口输入:mongod --dbpath "F:\VTA_gzhg\MongoDB\Server\3.4\db\rs1" --logpath "F:\VTA_gzhg\MongoDB\Server\3.4\db\rs1\rs1.log" --serviceName "MongoDB" -install;
7.到windows服务中找到”MongoDB”服务设置自动启动。
8.安装MongoDB图形化管理工具:点击robo3t-1.1.1-windows-x86_64-c93c6b0.exe安装,安装完robo3t后还需要安装Visual C++ Redistribable for Visual Studio 2015,否则启动robomongo会报错
配置mongo连接的名称、地址及端口号
2. 完成无验证登录的MongoDB服务创建后,去到MongoDB图形化工具中对各个实例进行加密操作:
- 图形管理工具登录到MongoDB库;
- 选择New Connection右键打开Open Shell:
- 执行语句如下:
① 创建管理员账号及密码;
try{ var db = connect('admin'); if(db.system.users.find({'user':'hrst'}).count() == 0) { print('Ready to addUser...'); db.createUser({user:'hrst',pwd:'123',roles:[{role:'root',db:'admin'}]}) } else { print('Already exist user.') } } catch(err){ print('Error occured:' + err); } ② 创建数据库实例对应账号及密码(目前将其他实例的帐号密码和管理员创建为一样的),如果有多个实例需要加密,则将以下语句多复制几段修改黄色部分即可; try{ var db = connect('mail510'); if(db.system.users.find({'user':'hrst'}).count() == 0) { print('Ready to addUser...'); db.createUser({user:'hrst',pwd:'123',roles:[{role:'dbAdmin',db:'mail510'},{role:'userAdmin',db:'mail510'},{role:'readWrite',db:'mail510'}]}) } else { print('Already exist user.') } } catch(err){ print('Error occured:' + err); }
- 验证是否能成功登录:
① 点击Create进入到Connection Settings,
② 去到Authentication,
③ 勾选上Perform authentication输入实例名或者管理员账号、登录用户名及密码,
④ 点击左下角Test按钮查看是否能成功连接;
3. (4.2版本)此处先讲解4.2版本的MongoDB开启验证模式方法,如果是安装4.2版本的MongoDB数据库,到这一步就是最后一步,如果是安装的3.4.9则还需要完成后面第4,第5步的操作。
1.去到MongoDB安装目录bin路径下,找到mongod.conf文件。
2.打开后的配置文件如下,找到配置文件里“security:”,把这行的#号去掉,然后换行两个空格 然后加“authorization: enabled”(冒号后面加一个空格)。
注:开认证模式前,需加先添加Mongo用户和密码,即需要先完成上面第1,第2步。
3.修改完成后保存配置文件,重启服务。
4. (3.4.9版本)加密完成后删除现有的MongoDB服务重新创建加密服务:
- 停止现有的MongoDB服务:
- 删除MongoDB服务:管理员运行cmd进入到dos窗口,输入:sc delete MongoDB
- 重新创建加密服务:
①.点击mongodb-win32-x86_64-2008plus-3.4.9-signed.msi;
②.选择自定义安装,路径设置为D:\mongodb;
③.配置环境变量在path最后添加上mongodb安装目录下的bin文件夹如D:\mongodb\bin;
④.在安装目录创建db和log文件夹,在db文件下再新建名称为“rs1”的文件夹;
⑤.管理员运行cmd进入到mongo\bin目录;
⑥.在命令窗口输入:mongod --dbpath "F:\VTA_gzhg\MongoDB\Server\3.4\db\rs1" --auth --logpath "F:\VTA_gzhg\MongoDB\Server\3.4\db\rs1\rs1.log" --serviceName "MongoDB" -install;(加密服务创建的命令加了一个--auth,其他没有变化)
⑦.到windows服务中找到”MongoDB”服务设置自动启动。
5. (3.4.9版本)创建完成MongoDB加密服务后,使用图形化工具登录验证加密是否成功:
- 图形化管理工具直接无验证登录进入会有错误提示则表示加密成功:
- 依次用管理员、实例去登陆测试验证: