本文介绍: mongodb 7.0.3 bin目录下有vc_redist.x64.exe,如果安装服务失败,先运行这个vc_redist。关闭服务修改config文件 authorization: enabled。注意 mongo.config 文件要写好。接着安装 mongosh
  1. 安装MongoDb 的服务
    命令如下: (cmd管理员运行)

使用 config文件则非常简洁:
mongodconfig c:CMongoDb703mongo.configserviceName “CMongoDb703” –serviceDisplayName “CMongoDb703” –install
注意 mongo.config 文件要写好
例如:

storage:
  dbPath: C:CMongoDb703datas
  directoryPerDB: true

systemLog:
  destination: file
  quiet: true
  path: C:CMongoDb703logsmongod.log
  logAppend: false

net:
  port: 26016

security:
   authorization: disabled
   #authorization: enabled

mongodb 7.0.3 bin目录下有vc_redist.x64.exe,如果安装服务失败,先运行这个vc_redist

接着安装 mongosh
命令输入
mongoshmongodb://localhost:12345”

在这里插入图片描述
admin创建root用户sa的JS脚本:

//必须禁用 authorization
var db = db.getSiblingDB('admin');
db.createUser({
    user: "sa",
    pwd: "123456",
    roles: [{ role: "root", db: "admin" }]
});

load 脚本
在这里插入图片描述
关闭服务,修改config文件 authorization: enabled
重启服务

之后可以批量创建各个数据库用户,例如:

var adminDB = db.getSiblingDB('admin');
adminDB.auth('sa', '123456');

// 数据库列表
var prefix = "TickDataExs";
var suffixes = "SH,SZ,CFE,SHF,INE,DCE,CZC,GFE,BJ".split(',');

// 生成数据库列表
var databases = suffixes.map(function(suffix) {
    return prefix + "_" + suffix;
});

// 用户信息
var users = [
    { username: 'reader', password: '1', role: 'read' },
    { username: 'writer', password: '1', role: 'readWrite' }
];

// 为每个数据库创建用户
databases.forEach(function(dbName) {
    var currentDb = db.getSiblingDB(dbName);
    users.forEach(function(user) {
        // 检查用户是否已存在
        if (!currentDb.getUser(user.username)) {
            currentDb.createUser({
                user: user.username,
                pwd: user.password,  // 替换为强密码
                roles: [{ role: user.role, db: dbName }]
            });
        }
    });
});



原文地址:https://blog.csdn.net/norsd/article/details/134658104

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_5859.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注