This is a translation of the original English documentation page. Help us make it better.

1 Création de la base de données

Aperçu

Une base de données Zabbix doit être créée lors de l'installation du serveur ou du proxy Zabbix.

Cette section fournit des instructions pour créer une base de données Zabbix. Un ensemble d'instructions distinct est disponible pour chaque base de données prise en charge.

UTF-8 est le seul encodage pris en charge par Zabbix. Il est connu pour fonctionner sans aucune faille de sécurité. Les utilisateurs doivent être conscients qu'il existe des problèmes de sécurité connus s'ils utilisent certains des autres encodages.

Si vous installez à partir du dépôt Git Zabbix, vous devez exécuter les commandes suivantes avance de passer aux étapes suivantes :

$ make dbschema

MySQL

Les jeux de caractères utf8 (alias utf8mb3) et utf8mb4 sont pris en charge (avec le classement utf8_bin et utf8mb4_bin respectivement) pour que le serveur/proxy Zabbix fonctionne correctement avec la base de données MySQL. Il est recommandé d'utiliser utf8mb4 pour les nouvelles installations.

Pour Zabbix 6.0.11 et versions ultérieures, des déclencheurs déterministes doivent être créés lors de l'importation du schéma. Sur MySQL et MariaDB, cela nécessite que GLOBAL log_bin_trust_function_creators = 1 soit défini si la journalisation binaire est activée et qu'il n'y a pas de privilèges de superutilisateur et que log_bin_trust_function_creators = 1 n'est pas défini dans le fichier de configuration MySQL.

Si vous installez à partir des paquets Zabbix, suivez les instructions pour votre plate-forme.

Si vous installez Zabbix à partir de sources :

  • Créez et configurez une base de données et un utilisateur.
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;
  • Importez les données dans la base de données. Pour une base de données proxy Zabbix, seul schema.sql doit être importé (pas d'images.sql ni de data.sql).
cd database/mysql
       mysql -uzabbix -p<password> zabbix < schema.sql
       # stopper ici si vous créez une base de données pour un porxy Zabbix
       mysql -uzabbix -p<password> zabbix < images.sql
       mysql -uzabbix -p<password> zabbix < data.sql

log_bin_trust_function_creators peut être désactivé une fois le schéma importé avec succès :

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

PostgreSQL

Vous devez avoir un utilisateur de base de données avec des autorisations pour créer des objets de base de données.

Si vous installez à partir des paquets Zabbix, suivez les instructions pour votre plate-forme.

Si vous installez Zabbix à partir de sources :

  • Créez un utilisateur de base de données.

La commande shell suivante créera l'utilisateur zabbix. Spécifiez un mot de passe lorsque vous y êtes invité et répétez le mot de passe (remarque, il se peut que l'on vous demande d'abord le mot de passe sudo) :

sudo -u postgres createuser --pwprompt zabbix
  • Créez une base de données.

La commande shell suivante créera la base de données zabbix (dernier paramètre) avec l'utilisateur précédemment créé comme propriétaire (-O zabbix).

sudo -u postgres createdb -O zabbix -E Unicode -T template0 zabbix
  • Importez le schéma et les données initiaux (en supposant que vous êtes dans le répertoire racine des sources Zabbix).

Pour une base de données proxy Zabbix, seul schema.sql doit être importé (pas d'images.sql ni de data.sql).

cd database/postgresql
       cat schema.sql | sudo -u zabbix psql zabbix
       # arrêtez vous ici si vous créez une base de donnée pour le proxy Zabbix
       cat images.sql | sudo -u zabbix psql zabbix
       cat data.sql | sudo -u zabbix psql zabbix

Les commandes ci-dessus sont fournies à titre d'exemple et fonctionneront dans la plupart des installations GNU/Linux. Vous pouvez utiliser différentes commandes selon la configuration de votre système/base de données, par exemple :

psql -U <username>

Si vous rencontrez des problèmes lors de la configuration de la base de données, veuillez consulter votre administrateur de base de données.

TimescaleDB

Les instructions de création et de configuration de TimescaleDB sont fournies dans une section distincte.

Oracle

Les instructions de création et de configuration d'Oracle sont fournies dans une section distincte.

SQLite

L'utilisation de SQLite n'est prise en charge que pour le proxy Zabbix !

La base de données sera automatiquement créée si elle n'existe pas.

Revenez à la section d'installation.