> For the complete documentation index, see [llms.txt](https://kb.pvhostvm.ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kb.pvhostvm.ru/hostvm-vdi/hostvm-vdi-installation-guide/vdi-db.md).

# Установка и настройка выделенного сервера БД

### Импорт виртуальной машины <a href="#import-vm" id="import-vm"></a>

* Скачайте файл `dbserver.tar.bz2` из каталога загрузок HOSTVM.
* Загрузите данный файл на один из хостов виртуализации HOSTVM с помощью scp или других средств.
* Распакуйте командой: `tar xjvf dbserver.tar.bz2`
* Откройте портал администрирования платформы виртуализации HOSTVM, перейдите в раздел **Compute - Virtual Machines**.
* Нажмите на иконку из трех вертикальных точек в правом верхнем углу интерфейса и выберите пункт **Import**.
* Выберите в качестве источника импорта **Source** файл OVA: **"Virtual Appliance(OVA)"**. Укажите хост, на котором расположен файл ВМ и абсолютный путь директории с файлом, нажмите кнопку Load для поиска образа.
* Выберите нужный образ в результатах поиска, переместите его с помощью стрелки в список ВМ для импорта (справа) и нажмите кнопку **Next**.
* В появившемся окне задайте домен хранения и кластер для ВМ. Выделите ВМ в списке, перейдите на вкладку **Network Interfaces** и задайте логическую сеть для данной ВМ.
* После этого с помощью кнопки **OK** запустите импорт OVA и дождитесь его окончания.
* Запустите полученную ВМ, подключитесь к ней с помощью консоли. Авторизуйтесь с логином/паролем *root/engine*.
* Задайте новый пароль для учетной записи root с помощью команды `passwd`.

### Настройка сети <a href="#network-config" id="network-config"></a>

В случае получения IP адреса по DHCP данный раздел настройки можно пропустить.

Если требуется настройка статического адреса, подключитесь к ВМ через консоль: `Compute > Virtual machines > выбрать машину > нажать кнопку Console`

После подключения внесите изменения в файл `/etc/network/interfaces`, задав параметры IP адреса, маски сети, и шлюза по умолчанию.

Пример настройки:

```
allow-hotplug eth0
iface eth0 inet static
    address 10.1.1.2
    netmask 24
    gateway 10.1.1.1
```

Укажите адреса DNS в `/etc/resolv.conf`

При необходимости, задайте новое имя ВМ командой `hostnamectl set-hostname <имя_машины>`.

Перезапустите виртуальную машину для применения настроек:

```bash
reboot
```

### Мастер установки БД <a href="#db-wizard" id="db-wizard"></a>

Выполните команду `dbserver-setup.sh` для запуски мастера установки.

В процессе работы мастера рекомендуется запустить скрипт конфигурации для защиты БД и ответить на его вопросы:

```console
Запустить скрипт конфигурации БД mysql_secure_installation (рекомендуется)? [Y/n]: y
```

* Ввести текущий пароль для пользователя root (MySQL), так как для выполнения процесса потребуются права администратора.
* При возникновении уведомления об изменении пароля пользователя root выбрать вариант «Да» («Yes»).
* При возникновении уведомления об удалении существующих анонимных пользователей выбрать вариант «Да» («Yes»).
* При возникновении уведомления об отключении возможности входа для пользователя root удаленно выбрать вариант «Да» («Yes»).
* При возникновении уведомления об удалении тестовой базы данных выбрать вариант «Да» («Yes»).
* При возникновении уведомления о перезагрузке таблицы привилегий выбрать вариант «Да» («Yes»).

Подтвердите создание новой БД и пользователя, задайте пароль для этого пользователя:

```console
Создать новую базу данных и пользователя для подключения брокера? [Y/n]: y
Задайте пароль для пользователя БД:
```

Укажите IP адрес интерфейса, который будет использоваться для внешних подключений к БД:

```console
Укажите IP адрес, который будет использоваться для внешних подключений к БД (bind-address) [0.0.0.0]: 
```

После завершения работы мастера на сервере будет развернут инстанс базы данных брокера VDI с именем `udsdb`, и создан пользователь MySQL `udsdbadm` с правами доступа к этой базе, с заданным в процессе настройки паролем.

### Перенос базы данных <a href="#db-migration" id="db-migration"></a>

{% hint style="info" %}
В случае новой установки данный раздел настройки можно пропустить.
{% endhint %}

Для переноса существующей базы данных, развернутой в составе компонента HOSTVM VDI Брокер, на внешний сервер БД, выполните следующие команды.

В консоли брокера VDI остановите сервисы и создайте резервную копию БД, указав:

* имя базы на брокере (по умолчанию udsdb)
* имя файла резервной копии (в примере - backup.sql)

Команды для брокера версии 3.0:

```bash
systemctl stop apache2 uds
mysqldump -u root --single-transaction udsdb > backup.sql
```

Команды для брокера версии 3.5:

```bash
systemctl stop vdi
mysqldump -u root --single-transaction udsdb > backup.sql
```

Перенесите файл резервной копии на сервер БД, разверните, указав:

* имя базы на сервере БД (по умолчанию udsdb)
* имя файла резервной копии (в примере - backup.sql)

```bash
cat backup.sql | /usr/bin/mysql -u root udsdb
```

### Настройка брокера VDI для использования выделенного сервера БД <a href="#broker-config" id="broker-config"></a>

В случае, если брокер VDI уже развернуты, его настройка для дальнейшего использования выделенного сервера БД выполняется согласно соответствующей [инструкции](/hostvm-vdi/hostvm-vdi-installation-guide/vdi-db/broker-config.md).

### Настройка для работы с СУБД PostgreSQL (версия 3.6) <a href="#postgresql" id="postgresql"></a>

Приведенное выше руководство по установке и настройке виртуального апплаенса сервера БД описывает конфигурацию по умолчанию с использованием СУБД MariaDB (MySQL).

Начиная с версии 3.6, дополнительно появилась поддержка СУБД PostgreSQL.

Если вам требуется выполнить настройку сервера БД и брокера HOSTVM VDI на использование СУБД PostgreSQL, после [импорта виртуальной машины](#import-vm) и [настройки сети](#network-config) для дальнейшей конфигурации воспользуйтесь соответствующей инструкцией [Настройка СУБД PostgreSQL](/hostvm-vdi/hostvm-vdi-installation-guide/vdi-db/postgresql.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://kb.pvhostvm.ru/hostvm-vdi/hostvm-vdi-installation-guide/vdi-db.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
