2015-01-05 3 views
12

Есть ли способ (плагин или инструмент) для экспорта данных из базы данных (или самой базы данных)? Я ищу эту функцию, поскольку мне нужно перенести БД с текущего хоста на другой.Экспорт данных из InfluxDB

ответ

12

Вы можете сбросить каждую таблицу и загрузить их через интерфейс 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" 

Или, может быть, вы хотите добавить новый узел в кластер? Это легко, и вы получите реплика мастер-мастер бесплатно. Cluster Setup

+0

что, если мы хотим в формате CSV? – Luv33preet

+0

или, альтернативно, 'curl -G 'http: // hosta: 8086/query?' --data-urlencode "db = dbname" --data-urlencode "q = SELECT * FROM series_name" –

14

Как говорится в 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, извините, я бы просто оставил комментарий прямо на ваш ответ, но у меня нет достаточно очков репутации, чтобы сделать это еще.)

6

Экспорт данных :

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

grpcdb - это имя БД, и резервное копирование будет сохранено в каталоге/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 
+2

При работе с массивными базами данных это действительно единственный практический метод для этого. – mogul

+0

Да, предполагая, что OP переходит на другой узел InfluxDB (надеюсь, в той же версии), а не на другой тип базы данных –

6

Если я использую локон, я получаю тайм-аут, и если я использую influxd backup его не в формате, я могу читать.

Я получаю прекрасные результаты, как это:

influx -host influxdb.mydomain.com -database primary -format csv -execute "select time,value from \"continuous\" where channel='ch123'" > outtest.csv 
Смежные вопросы