WEGA-DB: различия между версиями

Материал из WEGA-PROJECT
Перейти к навигации Перейти к поиску
(Новая страница: «=== Описание === * Представляет из себя систему баз развернутых на mysql сервере. * Архитектурно, каждому устройству соответствует своя база данных. * Каждая база содержит таблицу измерений и таблицы конфигурации и калибровок устройства. * Разные устройств...»)
 
Строка 1: Строка 1:
=== Описание ===
== Описание ==
 
* Представляет из себя систему баз развернутых на mysql сервере.  
* Представляет из себя систему баз развернутых на mysql сервере.  
* Архитектурно, каждому устройству соответствует своя база данных.  
* Архитектурно, каждому устройству соответствует своя база данных.  
Строка 7: Строка 6:
* Такие компоненты как [[SYSLOG]] и [[OWM Fetcher]] так же хранят данные в едином сервере и такие компоненты как [[WEGA-GUI]] и [[GRAFANA]] используют в анализе измерений и графика
* Такие компоненты как [[SYSLOG]] и [[OWM Fetcher]] так же хранят данные в едином сервере и такие компоненты как [[WEGA-GUI]] и [[GRAFANA]] используют в анализе измерений и графика


=== Обслуживание ===
== Обслуживание ==
Так как все параметры устройства хранятся в одной базе, то очень просто выполнять ее перенос чистку архивирование и восстановление.
Так как все параметры устройства хранятся в одной базе, то очень просто выполнять ее перенос чистку архивирование и восстановление.
=== Архивирование перенос и восстановление базы устройства ===
Для того, чтобы выполнить перенос данных с одного сервера на другой можно воспользоваться процедурой снятия дампа базы, а затем его восстановления.
Это может потребоваться в нескольких случаях:
* если вы хотите развернуть копию базы на том же сервере как бы зафиксировав настройки и данные прошлых периодов
* если есть желание обезопасить себя от сбоев и потери сервера и хранить архив базы отдельно
* если требуется перенести данные на новый сервер
== Что потребуется ==
* Необходим доступ в консоль сервера (например по ssh)
* рутовый пароль на базу mysql (посмотреть можно в файле db.php)
  cat /var/WEGA/db.php
== Backup ==
Снятие дампа (бекапа) базы:
  mysqldump -uroot -p esp32wega > esp32wega_dump.sql
где:
* esp32wega - это имя базы
* esp32wega_dump.sql -  имя которое присвоится файлу архиваПеренос архива на другой сервер
  rsync -P esp32wega_dump.sql root@11.12.13.14:/tmp
где:
* root - имя пользователя ssh на удаленном сервере
* 11.12.13.14 - адрес удаленного сервера
* /tmp - путь на удаленном сервере куда зальется архив
== Restore ==
Рассмотрим вариант, что мы останавливаем базу на новом сервере с новым именем. Восстановить базу из архива можно на полностью пустом подготовленном WEGA сервере. Все настройки и данные будут перенесены.
* Подключаемся по ssh к новому серверу
* Создаем базу на новом сервере (сперва удалим если есть):
  mysql -uroot -p -e "drop database lemon"
  mysql -uroot -p -e "create database lemon"
имя базы будет новое: lemon
* Заливаем в эту базу наш дамп
  mysql -uroot -p --one-database  lemon < /tmp/esp32wega_dump.sql
Теперь создадим на WEGA-GUI файл параметров
  nano /var/WEGA/wegagui/config/lemon.conf.php
вставим:
  <?php
  include "../../db.php";
  $my_db="lemon";
  $tb="sens";
  ?>
После заливки вероятно потребуется выполнить пересоздание функций из интерфейса WEGA-GUI:
[изображение](<nowiki>https://user-images.githubusercontent.com/1972613/156293819-6114e5dc-f26b-43fe-9c85-0cb0c73735cb.png</nowiki>)

Версия от 06:07, 24 апреля 2023

Описание

  • Представляет из себя систему баз развернутых на mysql сервере.
  • Архитектурно, каждому устройству соответствует своя база данных.
  • Каждая база содержит таблицу измерений и таблицы конфигурации и калибровок устройства.
  • Разные устройства могут использовать разные базы в рамках единого сервера например WEGA-MIXER имеет свой набор параметров
  • Такие компоненты как SYSLOG и OWM Fetcher так же хранят данные в едином сервере и такие компоненты как WEGA-GUI и GRAFANA используют в анализе измерений и графика

Обслуживание

Так как все параметры устройства хранятся в одной базе, то очень просто выполнять ее перенос чистку архивирование и восстановление.

Архивирование перенос и восстановление базы устройства

Для того, чтобы выполнить перенос данных с одного сервера на другой можно воспользоваться процедурой снятия дампа базы, а затем его восстановления.

Это может потребоваться в нескольких случаях:

  • если вы хотите развернуть копию базы на том же сервере как бы зафиксировав настройки и данные прошлых периодов
  • если есть желание обезопасить себя от сбоев и потери сервера и хранить архив базы отдельно
  • если требуется перенести данные на новый сервер

Что потребуется

  • Необходим доступ в консоль сервера (например по ssh)
  • рутовый пароль на базу mysql (посмотреть можно в файле db.php)
 cat /var/WEGA/db.php

Backup

Снятие дампа (бекапа) базы:

 mysqldump -uroot -p esp32wega > esp32wega_dump.sql

где:

  • esp32wega - это имя базы
  • esp32wega_dump.sql - имя которое присвоится файлу архиваПеренос архива на другой сервер
 rsync -P esp32wega_dump.sql root@11.12.13.14:/tmp

где:

  • root - имя пользователя ssh на удаленном сервере
  • 11.12.13.14 - адрес удаленного сервера
  • /tmp - путь на удаленном сервере куда зальется архив

Restore

Рассмотрим вариант, что мы останавливаем базу на новом сервере с новым именем. Восстановить базу из архива можно на полностью пустом подготовленном WEGA сервере. Все настройки и данные будут перенесены.

  • Подключаемся по ssh к новому серверу
  • Создаем базу на новом сервере (сперва удалим если есть):
 mysql -uroot -p -e "drop database lemon"
 mysql -uroot -p -e "create database lemon"

имя базы будет новое: lemon

  • Заливаем в эту базу наш дамп
 mysql -uroot -p --one-database  lemon < /tmp/esp32wega_dump.sql

Теперь создадим на WEGA-GUI файл параметров

 nano /var/WEGA/wegagui/config/lemon.conf.php

вставим:

 <?php
 include "../../db.php";
 $my_db="lemon";
 $tb="sens";
 ?>

После заливки вероятно потребуется выполнить пересоздание функций из интерфейса WEGA-GUI:

[изображение](https://user-images.githubusercontent.com/1972613/156293819-6114e5dc-f26b-43fe-9c85-0cb0c73735cb.png)