版权声明:转载请注明来源 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'
成功注册!
【持续更新】