1、官网下载
进到官网之后,Products->Communiti Server
(或者直接访问 https://www.mongodb.com/try/download/community )
解压之后,可以新建两个文件目录
a、新建data/db目录(启动mongodb需要指定--dbpath,默认是C:/data/db,不另外指定dbpath的话,会去C盘下找data/db)
b、新建logs目录,用于存日志(启动mongodb指定--logpath)
2、启动mongodb服务(如果)
cmd命令窗口进入到mongodb的bin目录启动mongodb:mongod --dbpath data/db的路径
如:mongod --dbpath D:\software\mongodb\mongodb-win32-x86_64-windows-6.0.5\data\db
...
可以在浏览器中访问 http://localhost:27017
如上图表示启动成功,或者也可以用其他工具连接
或者指定--logpath日志路径启动
如:mongod --dbpath D:\software\mongodb\mongodb-win32-x86_64-windows-6.0.5\data\db --logpath D:/software/mongodb/mongodb-win32-x86_64-windows-6.0.5/logs/mongodb.log
这样日志都打印在指定的日志文件里了,命令窗口就没有日志了,可打开mongodb.log文件,里面记录了日志
但是这样每次都需要进入bin目录通过mongod --dbpath ... 启动,很麻烦!!!
3、简化mongodb的启动
先停掉之前启动的mongodb,直接在之前的命令窗口Ctrl+c就会停掉
(1)在控制面版编辑环境变量,path添加mongodb的bin目录,添加之后需要重启电脑生效
如果不在系统变量中的path指定mongodb的bin目录,则需要每次在bin目录启动mongod.exe
生效之后,在任意目录都可以使用:mongod --dbpath xxx启动mongodb了
(2)以管理员身份打开power shell
(3)指定serviceName来install mongodb
如:mongod --logpath D:/software/mongodb/mongodb-win32-x86_64-windows-6.0.5/logs/mongodb.log --logappend --dbpath D:/software/mongodb/mongodb-win32-x86_64-windows-6.0.5/data/db --directoryperdb --serviceName MongoDB --install
然后net start MongoDB启动服务
这里启动失败,是因为之前启动过了
可以查看日志文件,会有下面的错误信息
"attr":{"error":"InvalidOptions: Requested option conflicts with current storage engine option for directoryPerDB; you requested true but the current server storage is already set to false and cannot be changed"}
请求的选项与directoryPerDB的当前存储引擎选项冲突;您请求了true,但当前服务器存储已设置为false,无法更改
这应该是因为之前启动进程时没有添加directoryPerDB配置项,但是现在加上了该启动项,由于之前的数据库已经进行了设置,无法更改。
此处参考了 https://blog.csdn.net/weixin_42976232/article/details/104983683
解决方法:新建一个文件夹,存放db,比如在data文件里再新建一个db2(或者删除之前的db文件夹里的内容),更改配置项dbpath,从新启动即可,此时mongodb就像一个新的数据库
a、如果是没有数据的,可以选择清空之前的db文件夹里的内容,然后直接用net start MongoDB启动服务
b、如果不想删除之前db里的内容,可以新建一个文件夹,重新指定dbpath
这种方式需要以下几步
1)PowerShell运行sc.exe delete MongoDB删除之前安装的服务
对PowerShell用户的注意: sc别名为set-content。因此sc delete service实际上将创建一个delete带有内容的文件service。要在Powershell中执行此操作,请改用sc.exe delete service
此处参考了 https://qastack.cn/programming/76074/how-can-i-delete-a-service-in-windows
2)重新指定--dbpath安装服务
mongod --logpath D:/software/mongodb/mongodb-win32-x86_64-windows-6.0.5/logs/mongodb.log --logappend --dbpath D:/software/mongodb/mongodb-win32-x86_64-windows-6.0.5/data/db2 --directoryperdb --serviceName MongoDB --install
安装完之后就可以net start MongoDB启动服务了
这样就可以连mongodb数据库了
net stop MongoDB可停止服务
启动服务需要管理员身份,普通的cmd命令窗口不行
所以需要启动时,打开管理员身份的PowerShell来net start MongoDB启动服务和net stop MongoDB停止服务
4、安装mongoshell
mongodb6.0以下的在mongodb的bin目录里就有mongoshell的启动程序mongosh.exe
mongodb6.0版本以上需要另外下载mongoshell才能使用mongoshell
(1)下载mongoshell
然后
或者直接点击链接 https://www.mongodb.com/try/download/shell
解压之后,可在解压的bin目录点击mongosh.exe或者cmd命令窗口进入bin目录运行mongosh命令启动shell(启动之前记得先启动mongodb的服务)
这样就可以使用mongoshell了
(2)简化启动mongoshell
如果不在系统环境变量path中配置mongoshell的bin目录,则每次都需要在mongoshell的bin目录下启动shell
在控制面版的系统环境变量path中配置mongoshell的bin目录
配置好之后,重启电脑生效
重启之后在任意目录的cmd窗口运行mongosh命令启动mongoshell
5、附注
Get-Service 查看服务列表
net start serviceName 启动名为serviceName的服务
net stop serviceName 停止名为serviceName的服务
sc delete serviceName 删除名为serviceName的服务
PowerShell中使用sc.exe delete serviceName 删除名为serviceName的服务