community - influxdb windows
Exportar datos desde InfluxDB (7)
¿Hay alguna forma (complemento o herramienta) para exportar los datos desde la base de datos (o la base de datos misma)? Estoy buscando esta función ya que necesito migrar una base de datos del host actual a otra.
A partir de la 1.5
, la utilidad de copia de seguridad InfluxDB OSS ofrece una opción más nueva que es mucho más conveniente:
-portable
: genera archivos de respaldo en el nuevo formato compatible con InfluxDB Enterprise. Muy recomendado para todos los usuarios de OSL de InfluxDB.
Exportar
Para respaldar todo:
influxd backup -portable <path-to-backup>
Para respaldar solo la base de datos myperf:
influxd backup -portable -database myperf <path-to-backup>
Importar
Para restaurar todas las bases de datos encontradas en el directorio de respaldo:
influxd restore -portable <path-to-backup>
Para restaurar solo la base de datos myperf (la base de datos myperf no debe existir):
influxd restore -portable -db myperf <path-to-backup>
Las opciones adicionales incluyen la especificación de la timestamp
, shard
, etc. Vea todas las demás opciones admitidas docs.influxdata.com/influxdb/v1.7/administration/… .
Como dice ezotrank, puedes volcar cada mesa. Sin embargo, hay una "-d" que falta en la respuesta de ezotrank. Debería ser:
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, lo siento, solo hubiera publicado un comentario directamente en tu respuesta, pero aún no tengo suficientes puntos de reputación para hacerlo).
Exportar datos:
sudo service influxdb start (Or leave this step if service is already running)
influxd backup -database grpcdb /opt/data
grpcdb es el nombre de la base de datos y la copia de seguridad se guardará en el directorio / opt / data en este caso.
Datos de importacion:
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
Podrías volcar cada tabla y cargarlas a través de la interfaz 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"
¿O tal vez desea agregar un nuevo host al clúster? Es fácil y obtendrás una réplica de master-master gratis. Configuración de clúster
Si desea exportar en un formato legible, el comando inspeccionar es preferible. Para exportar la base de datos con el nombre HomeData el comando es:
sudo influx_inspect export -waldir /var/lib/influxdb/wal -datadir /var/lib/influxdb -out "influx_backup.db" -database HomeData
Los parámetros para -waldir y -datdir se pueden encontrar en /etc/influxdb/influxdb.conf.
Para importar este archivo nuevamente, el comando es:
influx -import -path=influx_backup.db
Si tiene acceso a la máquina que ejecuta Influx db, diría que use el comando influx_inspect . El comando es simple y muy rápido. Se volcará su db en línea de protocolo . Luego puede importar este volcado usando el comando influx -import .
Si uso curl, obtengo tiempos de espera, y si utilizo influxd backup
no está en un formato que pueda leer.
Estoy obteniendo buenos resultados como este:
influx -host influxdb.mydomain.com -database primary -format csv -execute "select time,value from /"continuous/" where channel=''ch123''" > outtest.csv