因为现在最新版的mongodb不兼容win7,对windows系统的最低要求是win10。所以win7系统要安装mongodb数据库必须考虑使用旧版zip包安装方式。
原文:https://www.cnblogs.com/andyzf/articles/10339449.html
1,前去官网下载zip包 https://www.mongodb.com/download-center/community/releases
2 .下载后解压 :里面文件结构如下:
3.里头没有data 和 logs文件目录 如下 新建这两个目录 data目录下再新建一个db目录 logs 目录下新建一个 mongo.log 文件
外层解压跟bin 同级别新建mongo.config 配置文件
4 .具体各个内容如下:
a. data目录下 建db目录用来存放数据库文件
b. logs目录下建mongo.log(注意此处可以是mongo.log.txt 也可以是后缀为.log的文件)
c. 在mongo.config 新建的配置文件中添加如下配置信息
具体内容如下:
dbpath=C:\MongoDB\data\db #数据库路径
logpath=C:\MongoDB\logs\mongo.log #日志输出文件路径
#logappend=true #错误日志采用追加模式
#journal=true #启用日志文件,默认启用
#quiet=true #这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
port=27017 #端口号默认为27017
上述内容有的不是必须的 前两行必须得指定
这里的路径可以按自己的实际情况来。我装在其他盘并没有出现原作者提到的服务无法启动问题。
5. 上述准备工作完成后使用管理员身份打开cmd 控制台进入解压包的 bin目录下输入如下命令
mongod --dbpath c:\MongoDB\data\db 会出现下图
然后打开浏览器输入 localhost:27017 看看就会有下图
6.注册service服务 以便于以后好启动 但是比较坑 的是会报如下错误 最后查看了下双引号去了还是报错 不认识这个
解决办法 输入以下命令注册服务
C:\MongoDB\bin>mongod --dbpath c:\MongoDB\data\db --logpath c:\MongoDB\logs\mongo.log --install --serviceName "MongoDB"
(发现双引号跟单引号好像都可以) 一般在这里就算成功了但是有时候会出现错误100
之后 运行 services.msc 打开系统服务 找到对应的MongoDB服务启动 发现又报错了 坑啊
解决办法 :
1 先移除服务
mongod --logpath "C:\MongoDB\logs\mongo.log" --logappend --dbpath "C:\MongoDB\data\db" --directoryperdb --serviceName "MongoDB" --serviceDisplayName "MongoDB" --remove
2.重新注册服务 mongod --logpath "c:\MongoDB\logs\mongo.log" --logappend --dbpath "C:\MongoDB\data\db" --directoryperdb --serviceName "MongoDB" --serviceDisplayName "MongoDB" --install
或者上面注册服务的命令都可以mongod --dbpath c:\MongoDB\data\db --logpath c:\MongoDB\logs\mongo.log --install --serviceName "MongoDB"
查看服务及启动服务输入 net start mongodb
至此 安装已经结束!
如果安装的是msi 后缀的话 记得在bin data 目录建 db 目录
执行如下:
"C:\MongoDB\bin\mongod.exe" --dbpath D:\MongoDB\data\db\
执行完之后在服务里启动MongoDB服务 如果服务报错 打开bin目录的mongo.cfg 文件编辑如下:
注释下最后一行信息#mp dbpath 改为加db\
之后启动服务即可
需要配置环境变量的 一般默认情况必须cd 进入bin 目录才能 使用mongo 其他目录不能识别
创建用户变量path 里面保存的是bin 所在目录
查看进入数据库 进入bin目录 输入 mongo 回车 然后输入 show dbs 查看数据库信息
创建库
use db.test (此命令就可以创建库test)
db.user.insert({"name":"Tom"}) 创建表 user
db.user.find() 查询所有数据
db.user.find({"name":"Tom"}) 查询叫tom的