web-dev-qa-db-fra.com

Exporter des données depuis InfluxDB

Existe-t-il un moyen (plugin ou outil) d'exporter les données de la base de données (ou de la base de données elle-même)? Je recherche cette fonctionnalité car j'ai besoin de migrer une base de données d'un hôte actuel vers un autre.

20
Srikanta

Vous pouvez vider chaque table et les charger via l'interface 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"

Ou peut-être souhaitez-vous ajouter un nouvel hôte au cluster? C'est facile et vous obtiendrez une réplique maître à maître gratuitement. Configuration du cluster

16
ezotrank

Exporter des données:

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

grpcdb est le nom de la base de données et la sauvegarde sera sauvegardée sous le répertoire/opt/data dans ce cas.

Importer des données:

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
25
Ammad

Comme le dit ezotrank, vous pouvez vider chaque table. Il manque cependant un "-d" dans la réponse de ezotrank. CA devrait etre:

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, désolé, j'aurais posté un commentaire directement sur votre réponse, mais je n'ai pas encore assez de points de réputation pour le faire.)

15
Mac

Si j'utilise curl, j'obtiens des délais et si j'utilise influxd backup, ce n'est pas dans un format lisible.

J'obtiens de bons résultats comme celui-ci:

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

Si vous avez accès à la machine exécutant Influx db, je dirais que vous utilisez la commande influx_inspect . La commande est simple et très rapide. Il va vider votre base de données dans protocole de ligne . Vous pouvez ensuite importer ce dump en utilisant influx -import command. 

2
Sujit Joshi

Si vous souhaitez exporter dans un format lisible, la commande d'inspecter est préférable ..____. Pour exporter la base de données avec le nom HomeData, la commande est la suivante:

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

Les paramètres de -waldir et -datdir peuvent être trouvés dans /etc/influxdb/influxdb.conf.

Pour importer à nouveau ce fichier, la commande est la suivante:

influx -import -path=influx_backup.db
0
Hanspeter

À partir de 1.5, l'utilitaire de sauvegarde InfluxDB OSS fournit une option plus récente, beaucoup plus pratique:

-portable: génère des fichiers de sauvegarde au nouveau format compatible avec InfluxDB Enterprise. Fortement recommandé pour tous les utilisateurs InfluxDB OSS

Exportation

Pour tout sauvegarder:

influxd backup -portable <path-to-backup>

Pour sauvegarder uniquement la base de données myperf:

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

Importation

Pour restaurer toutes les bases de données présentes dans le répertoire de sauvegarde:

influxd restore -portable <path-to-backup>

Pour restaurer uniquement la base de données myperf (la base de données myperf ne doit pas exister):

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

Des options supplémentaires incluent la spécification de timestamp, shard etc. Voir toutes les autres options prises en charge ici .

0
Neo