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

### Импорт виртуальной машины <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 уже развернуты, его настройка для дальнейшего использования выделенного сервера БД выполняется согласно соответствующей [инструкции](https://kb.pvhostvm.ru/hostvm-vdi/hostvm-vdi-installation-guide/vdi-db/broker-config).

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

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

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

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