我已经按照说明从官方网站安装了软件包。默认情况下,数据库文件夹的物理目标是/opt/influxdb/shared
.
我试图更改配置文件的属性并正确编写它。但在那之后我无法启动 influxdb 服务。
[storage]
dir = "/media/alex/Second/InfluxStorage/data/db" //my settings
如何更改默认数据库目录?
编辑:这仅适用于 InfluxDB v1.x。据报道它不适用于 InfluxDB v2.x。
创建一个要放置数据的新目录并设置适当的权限,例如:
mkdir /new/path/to/influxdb
sudo chown influxdb:influxdb influxdb
编辑您的(在 macOS 上)的以下三行,使其指向您的新位置:/etc/influxdb/influxdb.conf
/usr/local/etc/influxdb.conf
# under [meta]
dir = "/new/path/to/influxdb/meta"
# under [data]
dir = "/new/path/to/influxdb/data"
wal-dir = "/new/path/to/influxdb/wal"
重新启动 InfluxDB 守护程序。
sudo service influxdb restart # Ubuntu/Debian
brew services restart influxdb # macOS/homebrew
完毕!
如果您想移动现有数据,只需在编辑之前将现有数据(位置可以在influxdb.conf
;/var/lib/influxdb
在 Ubuntu/Debian 上找到)复制到您想要的新位置,influxdb.conf
并确保新文件夹具有适当的权限/所有权。
官方文档中有一些关于备份/恢复的信息,但是只是简单的复制对我有用。
以上在 macOS/Ubuntu/Raspbian 上的 InfluxDB v1.2 上进行了测试。
对于 InfluxDB 2.0:
在 InfluxDB 2.0 中,数据目录~/.influxdbv2
默认如下。
实际上, bolt(各种键值配置)和引擎(TSM 数据库)有 2 个数据存储。
从文档中,将位置更改为螺栓数据库:
~/.influxdbv2/influxd.bolt
influxd --bolt-path=~/.influxdbv2/influxd.bolt
export INFLUXD_BOLT_PATH=~/.influxdbv2/influxd.bolt
bolt-path: /users/user/.influxdbv2/influxd.bolt
从文档中,将位置更改为引擎数据库:
~/.influxdbv2/engine
influxd --engine-path=~/.influxdbv2/engine
export INFLUXD_ENGINE_PATH=~/.influxdbv2/engine
engine-path: /users/user/.influxdbv2/engine