我正在使用 unraid 服务器和 Docker 镜像 InfluxDB。 我可以访问我的 localhost:8086,并创建 root 用户(管理员用户),但是随后,我无法选择添加更多用户。 我可以添加更多组织和存储桶,但我就是无法添加任何用户? 有什么提示吗?我是 InfluxDB 的新手,我的最终目标是与 Grafana 和 Telegraf 挂钩..
我假设您可以使用文档中的命令添加用户。
使用 docker,这应该可以通过类似的方式实现(给定您的容器名称 os influxdb2):
$ docker exec influxdb2 influx user create \
-n <username> \
-p <password> \
-o <org-name>
尝试登录 Docker 镜像本身并直接使用 influx 命令来查看是否可以创建新用户 - 它可能会让您了解正在发生的情况。
docker exec -it imagename bash
然后当你有了外壳
influx user create -n username
正如命令所说
docker exec IMAGE influx user create -n username
应该实现同样的目标。
我才看到这个问题。对我来说,这种方法有效:
docker ps
它将列出container_ids及其名称。获取influxdb的container_id。然后:
docker exec -it <container_Id> bash
influx user create -n <name_of_user> -o <name_of_org> -p <password> -t "<token>"
请注意,您应该准确使用您拥有的组织名称和正确的令牌。您可以选择任何您想要的用户名和密码。
您可以在部署容器时使用以下命令创建用户:
docker run --name influxdb -t \
-e INFLUXDB_HTTP_AUTH_ENABLED="true" \
-e INFLUXDB_DB="mydatabase" \
-e INFLUXDB_USER="user" \
-e INFLUXDB_USER_PASSWORD="user" \
-e INFLUXDB_ADMIN_USER="admin" \
-e INFLUXDB_ADMIN_PASSWORD="admin" \
--restart unless-stopped \
-d influxdb:1.8.10
在您可以使用API(或Cli)连接到数据库并创建用户/数据库等之后:
curl -i -XPOST http://localhost:8086/query --data-urlencode "q=CREATE DATABASE $servicedb WITH DURATION 4w REPLICATION 1"
curl -i -XPOST http://localhost:8086/query --data-urlencode "q=use $servicedb"
curl -i -XPOST http://localhost:8086/query --data-urlencode "CREATE RETENTION POLICY metrics_yearly_rp ON $servicedb DURATION 52w REPLICATION 1"
curl -i -XPOST http://localhost:8086/query --data-urlencode "q=create user $service with password '$password'"
curl -i -XPOST http://localhost:8086/query --data-urlencode "q=grant all on $servicedb to $service"