【日积月累】MongoDB 注册为 Window 服务时遇到的问题总结

版权声明:转载请注明来源 https://blog.csdn.net/qq_24598601/article/details/83420984

一、Error creating service: 名称已用作服务名或服务显示名。 (1078)

  启动 MongoDB 服务总是很麻烦的,因此一般通过注册为系统服务,随系统启动。一般是通过配置文件启动,配置文件内容:

#ip绑定,限制ip访问
bind_ip=192.168.88.88

#端口
port=20001

#数据库配置路径
dbpath=C:\MongoDB\data

#日志文件配置
logpath=C:\MongoDB\log\mongo.log

#设置日志为追加的方式写日志
logappend=true

#将默认的存储引擎wiredTiger更换为mmapv1
#storageEngine=mmapv1

#启用身份认证
#auth=true

#复制集名称
replSet=rs0

命令是:

mongod --config C:\MongoDB\conf\mongo.config --serviceName MongoDB  --install

  但是在我使用 cmd 进行注册时,发现通过运行上面的代码不能注册成功,于是我思考了一个这整个问题,想了一下,是不是运行上面这行代码需要管理员权限才行,于是就 使用管理员权限运行 cmd 再次执行上述代码,发现还是注册不成功,于是,又想了一下,命名 mongod 是 MongoDB的命名,不是 Windows 的,会不会有日志,我就按我配置文件中配置的日志路径去寻找是否有日志存在,果然,日志是存在的,而且点开日志发现有下面的报错信息:

2018-10-26T20:57:00.419+0800 I CONTROL  [main] ***** SERVER RESTARTED *****
2018-10-26T20:57:00.817+0800 I CONTROL  [main] Trying to install Windows service 'MongoDB'
2018-10-26T20:57:00.818+0800 I CONTROL  [main] Error creating service: 名称已用作服务名或服务显示名。 (1078)

  于是,首先第一步,确认系统没有注册名为 MongoDB的服务,然后反复百度之后发现 Windows 系统注册服务时有参数 serviceDisplayName,于是将命名改为

mongod --config C:\MongoDB\conf\mongo.config --serviceName MongoDB --serviceDisplayName MongoDB --install

  运行上面改过的代码查看日志:

2018-10-26T21:01:54.327+0800 I CONTROL  [main] ***** SERVER RESTARTED *****
2018-10-26T21:01:54.734+0800 I CONTROL  [main] Trying to install Windows service 'MongoDB'
2018-10-26T21:01:54.948+0800 I CONTROL  [main] Service 'MongoDB' (MongoDB) installed with command line 'c:\MongoDB\bin\mongod.exe --config C:\MongoDB\conf\mongo.config --service'
2018-10-26T21:01:54.948+0800 I CONTROL  [main] Service can be started from the command line with 'net start MongoDB'

成功注册!

【持续更新】

猜你喜欢

转载自blog.csdn.net/qq_24598601/article/details/83420984
今日推荐