Windows services 更改作为windows服务运行的XDB的存储位置

Windows services 更改作为windows服务运行的XDB的存储位置,windows-services,influxdb,Windows Services,Influxdb,我在windows上作为服务运行influxdb,因此数据的默认目录是(这与配置文件中提到的目录不同,这可能是因为我作为服务运行) 有没有办法更改存储位置?例如,如果我想将数据存储在C:\Programfiles\data中,我可以这样做吗?或者更一般地说,您可以更改windows服务的存储位置吗?请检查这个很难找到的问题:我通过设置influxdb.conf的[data]部分的dir条目,在我的系统上成功地更改了它。例如: dir = "/Influx/InfluxDB/.influxdb/d

我在windows上作为服务运行influxdb,因此数据的默认目录是(这与配置文件中提到的目录不同,这可能是因为我作为服务运行)


有没有办法更改存储位置?例如,如果我想将数据存储在
C:\Programfiles\data
中,我可以这样做吗?或者更一般地说,您可以更改windows服务的存储位置吗?

请检查这个很难找到的问题:

我通过设置influxdb.conf的
[data]
部分的
dir
条目,在我的系统上成功地更改了它。例如:

dir = "/Influx/InfluxDB/.influxdb/data"
将我的数据目录放入
C:\Influx\InfluxDB\.InfluxDB\data


仅供参考,作为服务运行时,默认情况下,它以
C:\Windows\System32\config\systemprofile.influxdb\data
结尾的原因是,您以
本地系统
身份运行该服务。更改位置的另一种方法是以特定命名用户的身份运行服务,之后数据的默认位置将是
c:\Users\\.influxdb\data\

您在回答之前是否确实阅读了问题?!如果不将influxdb作为服务运行,则可以使用配置文件更改存储位置,而不会出现任何问题。。。但是,当您作为windows服务运行时,它就不再工作了。它将所有数据存储在C:\Windows\System32\config中,我无法使用配置文件更改它。。。因此,基本上我不知道如何更改windows上作为服务运行的应用程序的存储位置。您是如何将其配置为作为服务运行的?NSSM?是的。事实上,我使用NSSM使其作为一个系列运行。但是找不到可以将数据的存储位置从默认位置更改为服务的位置。有没有办法用NSSM来配置它?它对我不起作用。因此,在更改配置文件[data]部分中的目录后,我可以通过在命令提示符下键入“influxd.exe-config influxdb.conf”来运行influxdb。在这种情况下,我在配置文件中所做的所有更改(例如,我还在配置文件中启用了身份验证)都可以完美地工作。现在让我们假设我从influxdb断开连接,然后从服务管理器启动它(顺便说一句,我使用NSSM将influxdb作为服务运行)。在这种情况下,它似乎没有读取配置文件,因为存储位置没有更改,身份验证也不起作用。此外,它似乎正在运行另一个influxdb实例,因为当我写入show数据库时,数据库与我在命令提示符下手动运行influxdb时的情况不同……如果您更改数据位置您需要将现有/数据文件夹内容复制到新位置。当您使用nssm设置服务时,请将
-config infludb.conf
部分作为参数包含(我建议您也输入配置的完整路径以确保)。哦,我不知道我必须在nssm的参数部分包含配置。。。谢谢,现在一切都很好!
dir = "/Influx/InfluxDB/.influxdb/data"