MongoDb 安装

  1. 安装MongoDb 的服务
    命令如下: (cmd以管理员运行)

使用 config文件则非常简洁:

mongod -config c:\CMongoDb703\mongo.config -serviceName "CMongoDb703" -serviceDisplayName "CMongoDb703" -install

注意 mongo.config 文件要写好

例如:

yaml 复制代码
storage:
  dbPath: C:\CMongoDb703\datas
  directoryPerDB: true

systemLog:
  destination: file
  quiet: true
  path: C:\CMongoDb703\logs\mongod.log
  logAppend: false

net:
  port: 26016

security:
   authorization: disabled
   #authorization: enabled

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

接着安装 mongosh

命令行输入

mongosh "mongodb://localhost:12345"

在admin中创建root用户sa的JS脚本:

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

load 脚本:

关闭服务,修改config文件 authorization: enabled

重启服务

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

javascript 复制代码
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 }]
            });
        }
    });
});
相关推荐
马克Markorg2 小时前
常见的向量数据库和具有向量数据库能力的数据库
数据库
Coder_Boy_4 小时前
技术让开发更轻松的底层矛盾
java·大数据·数据库·人工智能·深度学习
helloworldandy4 小时前
使用Pandas进行数据分析:从数据清洗到可视化
jvm·数据库·python
数据知道6 小时前
PostgreSQL 故障排查:如何找出数据库中最耗时的 SQL 语句
数据库·sql·postgresql
qq_12498707536 小时前
基于SSM的动物保护系统的设计与实现(源码+论文+部署+安装)
java·数据库·spring boot·毕业设计·ssm·计算机毕业设计
枷锁—sha6 小时前
【SRC】SQL注入WAF 绕过应对策略(二)
网络·数据库·python·sql·安全·网络安全
Coder_Boy_6 小时前
基于SpringAI的在线考试系统-考试系统开发流程案例
java·数据库·人工智能·spring boot·后端
Gain_chance6 小时前
35-学习笔记尚硅谷数仓搭建-DWS层最近n日汇总表及历史至今汇总表建表语句
数据库·数据仓库·hive·笔记·学习
此生只爱蛋7 小时前
【Redis】主从复制
数据库·redis
马猴烧酒.7 小时前
【面试八股|JAVA多线程】JAVA多线程常考面试题详解
java·服务器·数据库