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