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

3134 байта добавлено ,  24 апреля 2023
(Новая страница: «=== Описание === * Представляет из себя систему баз развернутых на 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>)