想要在64位win10机器安装MongoDb,并注册系统服务启动,服务注册过程中遇到的一些问题的解决记录如下:
1.安装MongoDb;
2.创建数据存储路径,后序dbpath参数指向此路径;
3.创建服务日志文件存储路径,后续logpath参数指向此路径;
4.创建一下四个cmd文件
解释一下:
install_mongoservice.cmd mongodb服务安装脚本,向操作系统中注册mongdb服务;
内容如下:
参数介绍:
--serviceName 注册服务名称
--serviceDisplayName 服务在任务管理器中显示的服务名称
--logpath 服务日志存储路径
--dbpath 上面所说的datapath——数据库文件存储路径
--directoryperdb 每个数据库都单独存储在一个文件夹下
以上参数可以在cmd中执行命令查看:mongd --help
delete_mongoservice.cmd 卸载mongodb服务脚本,卸载已经安装好的mongodb服务
start_mongoservice.cmd 安装好mongodb服务后,执行此脚本启动服务;
stop_mongoservice.cmd 停止正在运行的mongodb服务;
5.执行服务安装脚本 install_mongoservice.cmd
运行脚本出现:Error connectiong to the Service Control Manager: 拒绝访问。
这是因为cmd没有以管理员权限运行,没有权限注册服务。所以按照如下步骤执行:
在搜索框中搜索 cmd,然后右键 选择 以管理员身份运行,然后在此cmd中执行服务注册脚本即可;
服务注册成功:
6.启动服务
在服务管理界面,选择 MongoDB ,右键点击 启动
显示如下异常:
显示“Windows不能在 本地计算机 启动 MongoDB”
查看服务日志,显示:you request true but the current server storage is already set to false and connot be changed.
这是因为在注册此服务前,我已经以此dbpath启动过MongoDb,此前启动已经生成了数据,此次启动时需要重新创建并重新配置不被允许,可以修改dbpath,不使用此前使用过的数据存储路径或者直接将该路径下的此前生成的数据文件全部删除,然后重新启动服务即可。
7.连接数据库
在cmd中执行命令 mongo即可
8.使用start_mongoservice.cmd启动服务
运行start_mongoservice.cmd脚本,启动服务失败;这是因为该脚本没有以管理员权限执行;
解决步骤:
A)为此脚本创建快捷方式:
B)设置快捷方式属性
C)设置脚本运行 以管理员身份运行
D)双击运行此快捷方式
同样,为安装服务,删除服务,停止服务可以创建快捷方式并设置以管理员身份运行;可以成功执行。
至此,服务安装成功。