Бази данних Proxmox

Скрипти Proxmox Database

Сервіси Database

Mariadb LXC

Mariadb є розгалуженням популярної системи керування базами даних MySQL, яка розроблена та підтримується спільнотою з відкритим кодом. Він також комерційно підтримується, пропонуючи функції корпоративного рівня та підтримку для організацій, яким вони потрібні. MariaDB прагне підтримувати високу сумісність із MySQL, забезпечуючи можливість заміни.

Щоб створити новий Proxmox VE Mariadb LXC, виконайте наведену нижче команду в Proxmox VE Shell.

1bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/mariadb.sh)"

Default Settings: 1GB RAM - 4GB Storage - 1vCPU

Наступний крок передбачає виконання включеного сценарію безпеки. Цей сценарій змінює певні параметри за замовчуванням, які є менш безпечними. Наша мета його запуску полягає в тому, щоб запобігти віддаленому авторизуванню root та усунути непотрібних користувачів бази даних.

Запустіть сценарій безпеки:

mysql_secure_installation

#
Enter current password for root (enter for none): enter
Switch to unix_socket authentication [Y/n] y
Change the root password? [Y/n] n
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y

Створимо новий обліковий запис під назвою admin з тими ж можливостями, що й обліковий запис root, але налаштований для автентифікації за паролем.

# 1
mysql

# 2 MariaDB [(none)]>
# Надайте привілеї локального адміністратора root
# (змініть ім’я користувача та пароль відповідно до наведених вище)

CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

# Тепер ми надамо користувачеві адміністраторські привілеї root і доступ на основі пароля,
# який може підключатися з локальної мережі 192.168.100.0/24. :

GRANT ALL ON *.* TO 'admin'@'192.168.100.%' IDENTIFIED BY 'password' WITH GRANT OPTION;

# Очистіть привілеї, щоб переконатися, що вони збережені та доступні в поточному сеансі:
FLUSH PRIVILEGES;
exit

Перевірка статусу: systemctl status mariadb

Adminer — це повнофункціональний інструмент керування базами даних

Веб Інтерфейс адміністратора: http:\IP/adminer/

PostgreSQL LXC

PostgreSQL (часто називають Postgres) — це система керування реляційними базами даних із відкритим кодом, яка відома своєю розширюваністю та суворим дотриманням стандартів SQL. Це безкоштовне та потужне рішення для баз даних, яке підходить для широкого спектру додатків, від невеликих проектів до великих корпоративних систем. PostgreSQL широко використовується завдяки своїй надійності, багатству функцій і надійності.

Щоб створити новий Proxmox VE PostgreSQL LXC, виконайте наведену нижче команду в Proxmox VE Shell.

1bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/postgresql.sh)"

Default Settings: 1GB RAM - 4GB Storage - 1vCPU

Щоб переконатися, що наш PostgreSQL захищено надійним паролем, установіть пароль для системного користувача, а потім змініть обліковий запис адміністратора бази даних за замовчуванням

Змінити пароль користувача: passwd postgres

Увійдіть за допомогою облікового запису системи Postgres: su - postgres

Тепер змініть пароль бази даних адміністратора: psql -c “ALTER USER postgres WITH PASSWORD ‘your-password’;”

Створіть нового користувача:

# 1
psql

# 2
CREATE USER admin WITH PASSWORD 'your-password';

# 3  Створіть нову базу даних:
CREATE DATABASE homeassistant;

# 4  Надайте користувачеві всі права або привілеї на створену базу даних
GRANT ALL ON DATABASE homeassistant TO admin;

# 5  Щоб вийти з psql
\q

# Потім введіть exit, щоб повернутися до root

Приклад налаштування HomeAssistant: db_url: HA configuration.yaml

recorder:
  db_url: postgresql://admin:[email protected]:5432/homeassistant?client_encoding=utf8

InfluxDB LXC

Вибір InfluxDB v1 призведе до автоматичного встановлення Chronograf.

InfluxDB призначений для роботи з великими навантаженнями на запис і запити та оптимізований для зберігання та аналізу даних із мітками часу, таких як показники, події та журнали. InfluxDB підтримує SQL-подібну мову запитів і має вбудований HTTP API для прийому та отримання даних. Він зазвичай використовується для IoT і промислових програм, де використовуються дані часових рядів.

Telegraf це агент сервера, який збирає, обробляє та агрегує дані про показники та події з різних джерел, таких як системи, бази даних і API, і виводить дані на різні виходи, такі як InfluxDB, Prometheus, Elasticsearch та багато інших.

Щоб створити новий Proxmox VE InfluxDB LXC, виконайте наведену нижче команду в оболонці Proxmox VE.

1  bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/influxdb.sh)"

Default Settings: 2GB RAM - 8GB Storage - 2vCPU

InfluxDB V1 (Chronograf) Interface: IP:8888

InfluxDB V2 Interface: IP:8086

InfluxDB Configuration: nano /etc/influxdb/influxdb.conf

Telegraf Configuration: nano /etc/telegraf/telegraf.conf