ここでは公開されているdockerイメージを使用する事とする。
docker-compose.yml
version: "3" services: influxdb: image: influxdb volumes: - ./influxdb:/var/lib/influxdb ports: - 8086:8086 # バージョン 1.3で、influxdbのWeb管理インターフェイスは使用できなくなった。 # 代わりに Chronograf の移行ガイドを見てくれとの事。 # https://docs.influxdata.com/influxdb/v1.5/tools/web_admin/ chronograf: image: chronograf:alpine volumes: - ./chronograf:/var/lib/chronograf ports: - 8888:8888 links: - influxdb depends_on: - influxdb
起動
docker-compose up
コンテナIDを確認
docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES baeed6a9bce9 chronograf:alpine "/entrypoint.sh chro…" 4 minutes ago Up 3 minutes 0.0.0.0:8888->8888/tcp influxdb_chronograf_1 e66c42c48178 influxdb "/entrypoint.sh infl…" 4 minutes ago Up 3 minutes 0.0.0.0:8086->8086/tcp influxdb_influxdb_1
コンテナに入る
docker exec -it e66c42c48178 /bin/bash
InfluxDB shellを起動する
influx -precision rfc3339 Connected to http://localhost:8086 version 1.7.9 InfluxDB shell version: 1.7.9 >
以降は InfluxDB shell から InfluxQL を使用して各種操作を行う事ができる。
- | ドキュメントURL |
InfluxDB shell | https://docs.influxdata.com/influxdb/v1.7/tools/shell/ |
InfluxQL | https://docs.influxdata.com/influxdb/v1.7/query_language/database_management/ |
以下、基本的なコマンド
コマンド | 説明 | 使用例 |
show databases | DBの一覧を表示する | show databases |
use データベース名 | 指定したDBを選択する | use mydb |
use データベース名 | 指定したDBを選択する | use mydb |
https://docs.influxdata.com/influxdb/v1.7/concepts/glossary/
コマンド
CREATE DATABASE <database_name> [WITH [DURATION <duration>] [REPLICATION <n>] [SHARD DURATION <duration>] [NAME <retention-policy-name>]]
使用例)
> create database mydb1 > show databases name: databases name ---- _internal mydb1
コマンド
DROP DATABASE <database_name>
使用例 )
> drop database mydb1 > show databases name: databases name ---- _internal
RDBのように事前にテーブルを作成する必要はなく、データを直接投入する事ができる。
insert into [retention policy] <measurement>[,<tag_key>=<tag_value>[,<tag_key>=<tag_value>]] <field_key>=<field_value>[,<field_key>=<field_value>] [<timestamp>]
https://docs.influxdata.com/influxdb/v1.7/write_protocols/line_protocol_reference/
DROP MEASUREMENT <measurement_name>
CREATE RETENTION POLICY <retention_policy_name> ON <database_name> DURATION <duration> REPLICATION <n> [SHARD DURATION <duration>] [DEFAULT]
DROP RETENTION POLICY <retention_policy_name> ON <database_name>