WEGA-DB: различия между версиями
Siv (обсуждение | вклад) (Новая страница: «=== Описание === * Представляет из себя систему баз развернутых на mysql сервере. * Архитектурно, каждому устройству соответствует своя база данных. * Каждая база содержит таблицу измерений и таблицы конфигурации и калибровок устройства. * Разные устройств...») |
Siv (обсуждение | вклад) |
||
| Строка 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)