安装和运行(含虚拟机)
mongodb是NoSql类型的数据库,NoSql就是不需要设计表结构,不需要声明字段的文档型诗句哭,什么数据都是以【key-value】的形式存在,也就是json格式,并且不需要提前声明字段,想存什么存什么,但也就没有什么所谓的数据严谨了,给人一种简易版数据库的感觉,但是mongodb在数据库排行版上一直都是前五的存在
官网,mongodb可以跟很多的服务器语言连接
官方的下载地址,现在的版本是4.3,我一直用的是4.0.6,而且现在官网的打开速度特别的慢,下载也是特别的慢
较快的window64位安装包下载地址
较快的window32位安装包下载地址
red head虚拟机安装包下载地址
跟nodejs说的一样,安装包下载后要存着,window的要存着,云虚拟机的也要存着,并且保持本地和云虚拟机的版本一致,才不会有很多的BUG
window安装
安装包和压缩包我建议使用压缩包,解压到电脑上后,把文件夹里的bin文件夹设置成系统path路径,怎么设置可以查看nodejs笔记
然后查看一级文件夹里除了bin是不是有一个data文件夹,一个logs文件夹,log文件夹里需要有一个mongo.log文件,没有自己新建就行
然后执行生成服务的cmd命令
mongod --logpath D:\mongodb\log\mongo.log --logappend --dbpath D:\mongodb\data --serviceName Mongo --port 27017--directoryperdb --install
然后window+R 搜索服务,就能看到生成的 Mongo 的服务,此时的服务还没有开启
服务可以手动开启,也可以命令
# 开启
net start Mongo
# 关闭
net stop Mongo
# 删除服务
sc delete mongoDB
服务启动后就可以操作数据库了
# 启动
mongo
# 查看版本
db.version()
# 查看数据库
show dbs
# 其他操作看后面的笔记
第二天电脑开机,如果服务停了,就net start启动下,服务启动后才可以执行mongo命令
linux安装
先去查自己的云虚拟机的系统版本,我是centos7.3,选的是官网的 RHEL 7.0 Linux 64-bit x64 版本的tgz安装包,通过Xftp移动到/usr/local/mongodb
# 进入对应文件夹
cd /usr/local/mongodb
# 解压
tar -xzvf mongodb...tab键补齐.tar.xz
# 配置系统文件profile
vi /etc/profile
# 插入下列内容:
export MONGODB_HOME=/usr/local/mongodb
export PATH=$PATH:$MONGODB_HOME/bin
# 保存
:wq!
# 保存后要重启系统配置:
source /etc/profile
添加文件夹
mkdir data
mkdir log
cd log
touch mongo.log
# 创建配置文件(window没有选择配置)
cd bin
vi mongodb.conf
# 配置文件内容
# 数据文件存放目录
dbpath = /usr/local/mongodb/data
# 日志文件存放目录
logpath = /usr/local/mongodb/log/mongo.log
# 端口
port = 27017
# 以守护程序的方式启用,即在后台运行
fork = true
# 追加方式写日志
logappend=true
# 最大同时连接数
maxConns=100
# 不启用验证
noauth=true
# 每次写入会记录一条操作日志(通过journal可以重新构造出写入的数据)
journal=true
# 允许外部访问,如设置为127.0.0.1则只能在本机访问
bind_ip = 0.0.0.0
# 存储引擎有mmapv1、wiretiger、mongorocks
# storageEngine=wiredTiger
# 是否禁止http接口,即28017 端口开启的服务,默认false
# nohttpinterface = false
# 保存
:wq!
# 创建并启动服务
mongod -f /usr/local/mongodb/bin/mongodb.conf
# 运行
mongo
# 版本
db.version()
# 查看当前数据库
show dbs
设置自动启动,但是云虚拟机几乎不会关机,我就没设置
vi /etc/rc.d/rc.local
# 添加下面一行
mongod --config /usr/local/mongodb/bin/mongodb.conf
开启了云虚拟机后是不能被本地访问,想要本地访问
需要几个前提条件,穿透两个墙和一个辅助工具
- 本地安装工具Robo 3T,查看工具篇
- 阿里云安全组开启端口号通道(其他公司我不知道),mongodb的端口号默认是27017
- 如果云虚拟机有防火墙,需要把防火墙打开端口号通道
mongodb默认是没有登录密码的,这也是阿里云每周给我发的周报一直说我有一个高危漏洞的原因