1 Создание базы данных

Обзор

В процессе установки Zabbix сервера или прокси должна быть создана база данных Zabbix.

Этот раздел предоставляет инструкции для создания базы данных Zabbix. Отдельный набор инструкций доступен для каждой из поддерживаемых баз данных.

UTF-8 - единственная кодировка, поддерживаемая Zabbix. Известно, что она работает без каких-либо уязвимостей в безопасности. Пользователи должны осознавать возможное наличие уязвимостей при использовании некоторых других кодировок.

При установке из Zabbix Git репозитория, Вам необходимо выполнить следующую команду прежде, чем приступать к последующим шагам:

make dbschema

MySQL/MariaDB

Для корректной работы Zabbix сервера/прокси с базой данных MySQL поддерживаются наборы символов utf8 (также известный как utf8mb3) и utf8mb4 (с сопоставлениями utf8_bin и utf8mb4_bin соответственно). Для новых установок рекоммендуется использовать utf8mb4.

Для Zabbix 6.0.11 и новее во время импорта схемы необходимо создавать детерминированные триггеры. В MySQL и MariaDB для этого необходимо установить GLOBAL log_bin_trust_function_creators = 1, если включено двоичное ведение журнала (binary logging) и нет привилегий суперпользователя, а параметр log_bin_trust_function_creators = 1 не выставлен в файле конфигурации MySQL.

Если Вы устанавливаете из Zabbix пакетов, следуйте инструкциям для вашей платформы.

Если Вы устанавливаете Zabbix из исходных кодов:

  • Создайте и настройте базу данных и пользователя.
mysql -uroot -p<password>
       
       mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
       mysql> create user 'zabbix'@'localhost' identified by '<password>';
       mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost';
       mysql> SET GLOBAL log_bin_trust_function_creators = 1;
       mysql> quit;
  • Импортируйте данные в базу данных. Для базы данных Zabbix прокси нужно импортировать только schema.sql (ни images.sql, ни data.sql не нужны).
cd database/mysql
       mysql -uzabbix -p<password> zabbix < schema.sql
       # остановитесь здесь, если вы создаёте базу данных для Zabbix прокси
       mysql -uzabbix -p<password> zabbix < images.sql
       mysql -uzabbix -p<password> zabbix < data.sql

После успешного импорта схемы параметр log_bin_trust_function_creators можно выключить:

mysql -uroot -p<password>
       
       mysql> SET GLOBAL log_bin_trust_function_creators = 0;
       mysql> quit;

PostgreSQL

У Вас должен быть пользователь базы данных с правами на создание объектов базы данных.

Если Вы устанавливаете из пакетов Zabbix, следуйте инструкциям для Вашей платформы.

Если Вы устанавливаете Zabbix из исходных кодов:

  • Создайте пользователя базы данных.

Следующая команда создаст пользователя zabbix. Задайте пароль при появлении запроса и затем введите пароль повторно (обратите внимание, что в начале может быть запрошен sudo пароль):

sudo -u postgres createuser --pwprompt zabbix
  • Создайте базу данных.

Следующая команда оболочки создаст базу данных zabbix (последний параметр) с раннее созданным пользователем в качестве владельца (-O zabbix).

sudo -u postgres createdb -O zabbix -E Unicode -T template0 zabbix
  • Импортируйте начальную схему и данные (предполагаем, что Вы находитесь в корневой директории с исходными кодами Zabbix).

Для базы данных Zabbix прокси нужно импортировать только schema.sql (ни images.sql, ни data.sql не требуются).

cd database/postgresql
       cat schema.sql | sudo -u zabbix psql zabbix
       # остановитесь здесь, если Вы создаёте базу данных для Zabbix прокси
       cat images.sql | sudo -u zabbix psql zabbix
       cat data.sql | sudo -u zabbix psql zabbix

Приведённые выше команды предоставлены как пример, который будет работать на большинстве GNU/Linux инсталляций. В зависимости от того, каким образом настроена Ваша система/база данных, Вы можете использовать и другие команды, например:

psql -U <username>

Если у Вас возникли трудности с настройкой базы данных, пожалуйста, проконсультируйтесь с Вашим администратором баз данных.

TimescaleDB

Инструкции по созданию и настройке TimescaleDB приведены в отдельном разделе.

Oracle

Инструкции по созданию и настройке базы данных Oracle приведены в отдельном разделе.

SQLite

Использование SQLite поддерживается только для Zabbix прокси!

База данных будет создана автоматически, если она не существует.

Вернуться в раздел установки.