Есть ли способ (плагин или инструмент) для экспорта данных из базы данных (или самой базы данных)? Я ищу эту функцию, так как мне нужно перенести БД с текущего хоста на другой.
Экспорт данных из InfluxDB
Ответ 1
Вы можете сбрасывать каждую таблицу и загружать их через интерфейс 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"
Или, может быть, вы хотите добавить новый узел в кластер? Это легко, и вы получите реплика мастер-мастер бесплатно. Настройка кластеров
Ответ 2
Экспорт данных:
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
Ответ 3
Как говорит ezotrank, вы можете сбросить каждую таблицу. Там, однако, отсутствует "-d" в ezotrank. Это должно быть:
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, извините, я бы просто отправил комментарий непосредственно на ваш ответ, но у меня пока нет достаточных очков репутации).
Ответ 4
Если я использую curl, я получаю таймауты, и если я использую influxd backup
, это не в формате, который я могу прочитать.
Я получаю хорошие результаты следующим образом:
influx -host influxdb.mydomain.com -database primary -format csv -execute "select time,value from \"continuous\" where channel='ch123'" > outtest.csv
Ответ 5
Начиная с 1.5
года, утилита резервного копирования InfluxDB OSS предоставляет более новую опцию, которая гораздо удобнее:
-portable
: -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>
Дополнительные параметры включают указание timestamp
, shard
и т.д. См. Все другие поддерживаемые параметры здесь.
Ответ 6
Если у вас есть доступ к машине, на которой запущен Influx db, я бы сказал, воспользуйтесь командой infx_inspect. Команда простая и очень быстрая. Это сбросит вашу базу данных в линейном протоколе. Затем вы можете импортировать этот дамп, используя команду Infx -import.
Ответ 7
Если вы хотите экспортировать данные в удобочитаемом формате, предпочтение отдается команде 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
Ответ 8
Приток утилит не для меня, я ищу ответ API. теперь работает с influenxdb 1.7.8 curl -u telegraf: telegrafpass -G "http://influenx-host: flow-port/query? db = телематика & q = SELECT %20% 2A %20FROM %20% 22 телематика% 22"> C:\Backups\telematics.json
но я не могу загрузить (написать) его обратно..