MongoDB的安装
MongoDB的安装
下载
在http://dl.mongodb.org/dl/win32/x86_64下载一个合适的版本,我选择了可以被Navicat Premium 15连接,文件又最小的3.3.6。
可以看到仅200MB。下载地址是http://downloads.mongodb.org/win32/mongodb-win32-x86_64-3.3.6.zip
当然你也可以选择其他的版本。
解压
下载完成后,我们将其解压到自己喜欢的位置,例如D:\develop。
然后我将mongodb-win32-x86_64-3.3.6重命名为mongodb:
配置文件
解压后,我们通过配置文件,指定mongoDB将数据和日志存放位置。
创建文件mongo.config
内容如下(我放在了mongoDB的解压位置):
dbpath=D:\develop\mongodb\data\db
logpath=D:\develop\mongodb\data\log\mongo.log
根据配置文件,手工创建相应的目录和子目录(不需要创建文件):
D:\develop\mongodb>tree data
卷 软件 的文件夹 PATH 列表
卷序列号为 0F12-100A
D:\DEVELOP\MONGODB\DATA
├─db
└─log
安装服务
进入bin目录打开cmd,执行以下命令:
mongod --config D:\develop\mongodb\mongo.config --install --serviceName mongodb
打印内容:
D:\develop\mongodb\bin>mongod --config D:\develop\mongodb\mongo.config --install --serviceName mongodb
2021-02-25T09:53:43.974+0800 I CONTROL [main] Hotfix KB2731284 or later update is not installed, will zero-out data files
启动/关闭mongoDB
以上操作后,也不需要将mongodb加入环境变量,以后直接通过服务启动即可,命令如下:
net start mongodb
关闭mongoDB:
net stop mongodb
删除服务
前面我们注册的服务名称是mongodb,以后想删除服务只需执行以下命令即可:
sc delete mongodb -remove
配置文件详解
MongoDB的配置文件详解:
# 端口号,默认27017
#port=27017# 数据库文件位置
dbpath=D:\develop\mongodb\data\db#日志文件位置
logpath=D:\develop\mongodb\data\log\mongo.log# 是否追加方式写入日志,默认True
logappend=true# 设置绑定ip
bind_ip = 127.0.0.1
# 设置端口
port = 27017# 是否以守护进程方式运行,默认false
fork = true#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet=false# 启用日志文件,默认启用
journal=true# 启用定期记录CPU利用率和 I/O 等待,默认false
#cpu = true# 是否以安全认证方式运行,默认是不认证的非安全方式
#noauth = true
#auth = true# 详细记录输出,默认false
#verbose = true#用于开发驱动程序时验证客户端请求
#objcheck = true# # 启用数据库配额管理,默认false
#quota = true# 设置oplog日志记录等级,默认0
# 0=off (default)
# 1=W
# 2=R
# 3=both
# 7=W+some reads
#oplog = 0# 是否打开动态调试项,默认false
#nocursors = true# 忽略查询提示,默认false
#nohints = true# 禁用http界面,默认为localhost:28017
#nohttpinterface = true# 关闭服务器端脚本,这将极大的限制功能,默认false
#noscripting = true# 关闭扫描表,任何查询将会是扫描失败
#notablescan = true# 关闭数据文件预分配
#noprealloc = true# 为新数据库指定.ns文件的大小,单位:MB
# nssize = <size># 用于Mongo监控服务器的Accout token。
#mms-token = <token># Mongo监控服务器的服务器名称。
#mms-name = <server-name># Mongo监控服务器的Ping间隔时间,即心跳
#mms-interval = <seconds># Replication Options# 设置主从复制参数
#slave = true # 设置从节点
#source = master.example.com # 指定从节点的主节点
# Slave only: 指定要复制的单个数据库
#only = master.example.com
# or
#master = true # 设置主节点
#source = slave.example.com # 设置副本集的名字,所有的实例指定相同的名字属于一个副本集
replSet = name#pairwith = <server:port># 仲裁服务器地址
#arbiter = <server:port># 默认为false,用于从实例设置。是否自动重新同步
#autoresync = true# 指定的复制操作日志(OPLOG)的最大大小
#oplogSize = <MB># 限制复制操作的内存使用
#opIdMem = <bytes># 设置ssl认证
# Enable SSL on normal ports
#sslOnNormalPorts = true# SSL Key file and password
#sslPEMKeyFile = /etc/ssl/mongodb.pem
#sslPEMKeyPassword = pass# path to a key file storing authentication info for connections
# between replica set members
#指定存储身份验证信息的密钥文件的路径
#keyFile=/path/to/keyfile
测试数据生成
创建js脚本,例如文件名为GenerateMongoTestData.js
:
//生成随机手机号
function getRandPhone(){var heads = ["134","138","139","150","151","152","157","158","159","170","189"];var phone = heads[Math.floor(Math.random()*heads.length)];var numbers = [1,2,3,4,5,6,7,8,9];for(var i=0; i<8; i++){phone+=numbers[Math.floor(Math.random()*numbers.length)];}return phone;
}//生成车牌号
function getRandPlate(){//地区,用于生成车牌号// var loc = ["川","渝","贵","陕","京","沪","粤","津","赣","湘","鄂"];var loc = ["川","渝"];//字母,用于生成车牌号var chars = ["A","B","C","D"];//数字,用于生成车牌号var numbers = [1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,"J","K","L","M"];var plate = "";plate += loc[Math.floor(Math.random()*loc.length)]; //第一位地区简称plate += chars[Math.floor(Math.random()*chars.length)]; //第二位字母简称//4位数字for(var i=0; i<4; i++){plate+=numbers[Math.floor(Math.random()*numbers.length)];}return plate;
}
// print(getRandPlate())//生成名字
function getRandName(){var familyNames = ["赵", "钱", "孙", "李", "周", "吴", "郑", "王", "冯", "陈", "褚", "卫", "蒋", "沈", "韩", "杨", "朱", "秦", "尤", "许","何", "吕", "施", "张", "孔", "曹", "严", "华", "金", "魏", "陶", "姜", "戚", "谢", "邹", "喻", "柏", "水", "窦", "章","云", "苏", "潘", "葛", "奚", "范", "彭", "郎", "鲁", "韦", "昌", "马", "苗", "凤", "花", "方", "俞", "任", "袁", "柳","刘", "鲍", "史", "唐", "费", "廉", "岑", "薛", "雷", "贺", "倪", "汤", "滕", "殷", "罗", "毕", "郝", "邬", "安", "常","乐", "于", "时", "傅", "皮", "卞", "齐", "董", "伍", "余", "元", "卜", "顾", "孟", "平", "黄", "和", "谭", "萧", "尹"];var givenNames = ["子璇", "淼", "国栋", "夫子", "瑞堂", "甜", "敏", "尚", "国贤", "贺祥", "晨涛", "昊轩", "易轩", "益辰", "益帆", "益冉", "瑾春", "瑾昆", "春齐", "杨", "文昊", "东东", "雄霖", "浩晨", "熙涵", "溶溶", "冰枫", "欣欣", "宜豪", "欣慧", "建政", "美欣", "淑慧", "文轩", "文杰", "欣源", "忠林", "榕润", "欣汝", "慧嘉", "新建", "建林", "亦菲", "林", "冰洁", "佳欣", "涵涵", "禹辰", "淳美", "泽惠", "伟洋", "涵越", "润丽", "翔", "淑华", "晶莹", "凌晶", "苒溪", "雨涵", "嘉怡", "佳毅", "子辰", "佳琪", "紫轩", "瑞辰", "昕蕊", "萌", "明远", "欣宜", "泽远", "欣怡", "佳怡", "佳惠", "晨茜", "晨璐", "运昊", "汝鑫", "淑君", "晶滢", "润莎", "榕汕", "佳钰", "佳玉", "晓庆", "一鸣", "语晨", "添池", "添昊", "雨泽", "雅晗", "雅涵", "清妍", "诗悦", "嘉乐", "晨涵", "天赫", "玥傲", "佳昊", "天昊", "萌萌", "若萌","泽民", "国强", "胜利", "小凡", "碧瑶", "书书", "京雨", "卫东", "小佳", "长江","文虹", "义凡", "广晨", "宸滔", "嘉岐", "雅珺", "睿明", "皓轩", "程天", "子酝", "艾康", "如羽", "冠玉", "子歉", "永昊", "龙华", "兆颜", "奇文", "月昕", "裕锦", "昂佳", "昊浩", "宇韬", "睿焓", "永译", "鸿彬", "颢霖", "益彬", "虹昊", "飞悦", "睿珏","?宵童", "睿鸿", "容冰", "逸濠", "楷岩", "弘义", "海萦", "昊孺", "梓铭", "生钊", "蓝玺", "晨辕", "宇菡", "砚海", "文揩", "韬瑞", "彦红", "奕韦", "清予", "宁翼", "冬睿", "锦昌", "烨宁", "昌权", "国研", "德运", "孝清", "佳阳", "凯玮", "正真", "民云", "昕冶", "力威", "帅欣", "知淳", "烨飞", "兴远", "子墨", "澄欣", "烨煊", "悦勤", "晨津", "博宏", "育萌", "羽炫", "绍钧", "睿昌", "泓千", "颢炜", "虹金", "筠航", "元甲", "星明", "景涛", "铭虹", "德本", "向辉", "基翔", "家易", "欣鹏", "羽荃", "泽容", "弘亮", "尚廷", "轩梓", "甫津", "彬楷", "寅飞", "愉君", "阳平", "誉杰", "钦昭", "蕴藉", "羽程", "宏海", "涵畅", "光浩", "令沂", "浩浩", "睿锦", "易泽", "俊康", "家文", "晨元", "语洋", "裕宏", "梓榛", "阳嘉", "恒展", "雨远", "哲伊", "逸江", "丰源", "学东", "奇岩", "浩财", "和蔼", "红言", "瑞赫", "森圆", "欣赢", "梓鸿", "博明", "铭育", "颢硕", "宇烯", "宇如", "淳炎", "源承"];var name = familyNames[Math.floor(Math.random()*familyNames.length)];name+=givenNames[Math.floor(Math.random()*givenNames.length)];return name;
}
// print(getRandName())// 生成随机专业
function getRandMajor() {return ["大数据", "应用数学", "应用统计"][Math.floor(Math.random()*3)]}
// print(getRandMajor())// 随机取一门课程
function getRandCourse() {var courses = ["大数据概论", "大数据开发语言", "Hadoop大数据技术", "分布式数据库原理与应用", "网络操作系统", "结构化数据存储与应用", "数据导入与预处理应用", "数据可视化技术", "数据仓库与挖掘技术", "时间序列分析实践", "大数据分析与内存计算"];var credits = [2, 4, 4, 4, 2, 2, 4, 2, 4, 4, 4];var idx = Math.floor(Math.random()*courses.length);var course = [courses[idx],credits[idx]];return course;
}// 生成学生数据
function generateStudents(snum=100, sgrade=2020, overwrite=true, sharding=true) {db = db.getSiblingDB("cqust");if (sharding) {sh.enableSharding("cqust");}if (overwrite) {db.getCollection("students").drop();if (sharding)sh.shardCollection("cqust.students",{"sno":"hashed"});}for(var i=0; i<snum/100; i++){var StudentsDoc = new Array();for(var j=0; j<100; j++){var sid = sgrade*1e6+i*100+j;var sname = getRandName();var gender = Math.floor(Math.random()*2);var phone = getRandPhone();var plate = getRandPlate();var major = getRandMajor();var height = Math.floor(Math.random()*30+gender*5+150);var sclass = Math.floor(Math.random()*4+1);var courses = new Array();for(var k=0; k<Math.floor(Math.random()*5);k++){var course_credit = getRandCourse();courses[k] = {"course":course_credit[0], "credit":course_credit[1], "score":Math.floor(Math.random()*50)+50};}StudentsDoc[j] = {"name":sname, "gender":gender, "height":height, "phone":phone, "role":"student", "sno":sid, "major": major,"grade": sgrade, "class": sclass, "courses":courses};}db.getCollection("students").insertMany(StudentsDoc);}
}// 主程序从这里开始
generateStudents(10000,2015,false,false);
generateStudents(10000,2016,false,false);
generateStudents(10000,2017,false,false);
generateStudents(10000,2018,false,false);
generateStudents(10000,2019,false,false);
执行脚本:
D:\develop\mongodb\bin>mongo ../GenerateMongoTestData.js
2021-02-25T10:14:43.410+0800 I CONTROL [main] Hotfix KB2731284 or later update is not installed, will zero-out data files
MongoDB shell version: 3.3.6
connecting to: testD:\develop\mongodb\bin>
通过Navicat Premium 15可以查看到插入的测试数据:
MongoDB的安装相关推荐
- mongodb的安装及主从复制
mongodb的安装及主从复制 转载http://linuxme.blog.51cto.com/1850814/965184 一.mongodb安装 1.下载mongodblinux版本(注意32位和 ...
- 手把手教你 MongoDB 的安装与详细使用(二)
上一篇文章练习了,MongoDB 的以下操作 安装 MongoDB 服务 连接 MongoDB MongoDB 创建数据库 MongoDB 删除数据库 MongoDB 插入文档 MongoDB 删除文 ...
- mongodb php linux,mongodb 及PHP的MongoDB 扩展安装
Install MongoDB https://www.mongodb.org/downloads 第一种 通用二进制包安装 curl -O https://fastdl.mongodb.org/li ...
- MongoDB的安装及基本命令和pymongo的使用
Mac中MongoDB的安装以及基本命令和pymongo的使用 一. NoSQL简介 1.NoSQL介绍 NoSQL全名为Not Only SQL, 指的是非关系型数据库, 在现代的计算系统上每天网络 ...
- Windows下MongoDB的安装与设置MongoDB服务
Mongo DB 是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式备受当前IT从业人员的青睐.Mongo DB很好的实现了面向对象的思想(OO思想),在Mongo DB ...
- mac下MongoDB数据库安装
MongoDB数据库安装 下载安装 https://www.mongodb.com/ 打开官网,找到适合自己平台的包,下载解压即可 解压安装后,需要创建一个空的文件夹,用来存放数据,(我在bin的同级 ...
- Mongodb的安装部署
Mongodb的安装部署 一.环境介绍 二.配置mongodb的yum源 三.安装mongodb 三.启动mongodb 1.mongodb启动 2.查看mongodb的状态 3.查看监听端口 四.进 ...
- Mongodb学习(安装篇): 在centos下的安装
安装篇 ###下载解压文件 [root@192 lamp]# wget http://fastdl.mongodb.org/linux/mongodb-linux-i686- 2.2.2.tgz ## ...
- Linux下MongoDB的安装,通过配置文件启动Mongodb的方式研究,mongodb自启动脚本(Linux),Windows下安装MongoDB服务,集群部署,数据导出和恢复
关于MongoDB的windows的 安装,可以参考: http://www.runoob.com/mongodb/mongodb-window-install.html 关于Linux的安装可以参考 ...
- 1.非关系型数据库(Nosql)之mongodb:mongodb的安装,环境变量配置,数据库服务端启动,客户端启动
1.MongoDB官方网站上下载MongoDB的安装版本.截图如下: 2 安装64位版本的mongodb.将它解压到: E:\Installed\mongodb-win32-x86_64-2.6 ...
最新文章
- HOG和SIFT图像特征提取简述
- 替换软连接导致的问题
- vue2.0通过Axios导出excel文件(解决乱码问题)
- Java基础巩固——反射
- collections模块介绍
- Android开源项目:GifView——Android显示GIF动画
- OpenCV人脸检测
- c++ 怎样连接两个链表_LeetCode | 链表的入口,一文帮你搞定“环形链表”(python版,最简单解析)...
- 邓总的vim配置,需要的自己拿走~
- Koa v2.x 中文文档 上下文(Context)
- 种草电商系统种草电商系统开发解决方案
- 电脑一直跳出 不支持16位的应用程序该如何解决
- processing交互应用——双人对战游戏
- linux 1.0 如何运行,观点|Linux 1.0 之旅:回顾这一切的开始
- 微信小程序---授权保存图片或视频,拒绝后不在出现弹窗---自定义组件弹窗
- ArcEngine10 ecp 授权
- MEM最全汇总及分析
- quick-cocos2dx中 B.super.ctor(self) 和 B.super:ctor()的区别
- docker多容器操作与强制删除容器的方法步骤
- 数据库设计之冗余、索引以及查询优化