web-dev-qa-db-ja.com

InfluxDBからデータをエクスポートする

データベース(またはデータベース自体)からデータをエクスポートする方法(プラグインまたはツール)はありますか?現在のホストから別のホストにDBを移行する必要があるため、この機能を探しています。

22
Srikanta

各テーブルをダンプし、RESTインターフェイスを介してロードできます:

curl "http://hosta:8086/db/dbname/series?u=root&p=root&q=select%20*%20from%20series_name%3B" > series_name.json
curl -XPOST -d @series_name.json "http://hostb:8086/db/dbname/series?u=root&p=root"

または、新しいホストをクラスターに追加したいかもしれませんか?簡単で、マスターとマスターのレプリカを無料で入手できます。 クラスター設定

19
ezotrank

データのエクスポート:

Sudo service influxdb start (Or leave this step if service is already running)
influxd backup -database grpcdb /opt/data  

grpcdbはDBの名前であり、この場合、バックアップは/ opt/dataディレクトリに保存されます。

データのインポート:

Sudo service influxdb stop  (Service should not be running)
influxd restore -metadir /var/lib/influxdb/meta /opt/data
influxd restore -database grpcdb -datadir /var/lib/influxdb/data /opt/data
Sudo service influxdb start
32
Ammad

Ezotrankが言うように、各テーブルをダンプできます。ただし、ezotrankの回答には「-d」がありません。そのはず:

curl "http://hosta:8086/db/dbname/series?u=root&p=root&q=select%20*%20from%20series_name%3B" > series_name.json
curl -XPOST -d @series_name.json "http://hostb:8086/db/dbname/series?u=root&p=root"

(Ezotrank、ごめんなさい、あなたの答えに直接コメントを投稿したでしょうが、まだそれをするのに十分な評判ポイントがありません。)

15
Mac

Curlを使用するとタイムアウトが発生し、influxd backupを使用すると読み取り可能な形式ではありません。

私はこのような素晴らしい結果を得ています:

influx -Host influxdb.mydomain.com -database primary -format csv -execute "select time,value from \"continuous\" where channel='ch123'" > outtest.csv
13
nont

1.5以降、InfluxDB OSSバックアップユーティリティは、より便利な新しいオプションを提供します。

-portable:新しいInfluxDB Enterprise互換形式でバックアップファイルを生成します。すべてのInfluxDB OSSユーザーに強く推奨

書き出す

すべてをバックアップするには:

influxd backup -portable <path-to-backup>

Myperfデータベースのみをバックアップするには:

influxd backup -portable -database myperf <path-to-backup>

インポート

バックアップディレクトリ内にあるすべてのデータベースを復元するには:

influxd restore -portable <path-to-backup>

Myperfデータベースのみを復元するには(myperfデータベースが存在していてはなりません):

influxd restore -portable -db myperf <path-to-backup>

その他のオプションには、timestampshardなどの指定が含まれます。サポートされている他のすべてのオプションを参照してください here

4
Neo

Influx dbを実行しているマシンにアクセスできる場合、 influx_inspect コマンドを使用すると言います。コマンドはシンプルで非常に高速です。 line protocol でデータベースをダンプします。その後、 influx -import コマンドを使用してこのダンプをインポートできます。

2
Sujit Joshi

読み取り可能な形式でエクスポートする場合は、inspectコマンドをお勧めします。 HomeDataという名前のデータベースをエクスポートするには、次のコマンドを実行します。

Sudo influx_inspect export -waldir /var/lib/influxdb/wal -datadir /var/lib/influxdb -out "influx_backup.db" -database HomeData

-waldirおよび-datdirのパラメーターは、/ etc/influxdb/influxdb.confにあります。

このファイルを再度インポートするためのコマンドは次のとおりです。

influx -import -path=influx_backup.db
2
Hanspeter