Esta es una traducción de la página de documentación original en español. Ayúdanos a mejorarla.

1 Creación de la base de datos

Descripción general

Se debe crear una base de datos Zabbix durante la instalación del servidor o proxy Zabbix.

Esta sección proporciona instrucciones para crear una base de datos Zabbix. Hay disponible un conjunto de instrucciones independiente para cada base de datos compatible.

Para mejorar la seguridad de la base de datos mediante la creación de roles/usuarios de base de datos con privilegios mínimos, consulte las mejores prácticas de creación de bases de datos para cada base de datos admitida:

Para configurar conexiones TLS seguras, consulte Conexión segura a la base de datos.

UTF-8 es la única codificación compatible con Zabbix. Se sabe que funciona sin fallos de seguridad. Los usuarios deben tener en cuenta que existen problemas de seguridad conocidos si utilizan algunas de las otras codificaciones. Para cambiar a UTF-8, consulte Reparación del juego de caracteres y la clasificación de la base de datos Zabbix.

Si realiza la instalación desde el repositorio Git de Zabbix, debe ejecutar el siguiente comando antes de continuar con los siguientes pasos:

make dbschema

MySQL/MariaDB

Se admiten los juegos de caracteres utf8 (también conocido como utf8mb3) y utf8mb4 (con intercalación utf8_bin y utf8mb4_bin respectivamente) para que el servidor/proxy Zabbix funcione correctamente con la base de datos MySQL. Se recomienda utilizar utf8mb4 para instalaciones nuevas.

Es necesario crear triggers deterministas durante la importación del esquema. En MySQL y MariaDB, esto requiere que se establezca GLOBAL log_bin_trust_function_creators = 1 si el registro binario está habilitado y no hay privilegios de superusuario y log_bin_trust_function_creators = 1 no está configurado en el archivo de configuración de MySQL.

Si está instalando desde paquetes de Zabbix, siga las instrucciones para su plataforma.

Si está instalando Zabbix desde fuentes:

  • Crear y configurar una base de datos y un usuario.
mysql -uroot -p<password>
       
       mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
       mysql> create user 'zabbix'@'localhost' identified by '<password>';
       mysql> SET GLOBAL log_bin_trust_function_creators = 1;
       mysql> SET GLOBAL log_bin_trust_function_creators = 1;
       mysql> quit;
  • Importe los datos a la base de datos y configure el juego de caracteres utf8mb4 como predeterminado. Para una base de datos proxy Zabbix, solo se debe importar schema.sql (ni imágenes.sql ni data.sql).
cd database/mysql
       mysql -uzabbix -p<password> zabbix < schema.sql
       # deténgase aquí si está creando una base de datos para el proxy Zabbix
       mysql -uzabbix -p<password> zabbix < images.sql
       mysql -uzabbix -p<password> --default-character-set=utf8mb4 zabbix < data.sql

log_bin_trust_function_creators se puede desactivar después de que el esquema se haya importado correctamente:

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

PostgreSQL

Necesita tener un usuario de base de datos con permisos para crear una base de datos.

Si está instalando desde paquetes de Zabbix, siga las instrucciones para su plataforma.

Si está instalando Zabbix desde fuentes:

  • Cree un usuario de base de datos.

El siguiente comando de shell creará el usuario zabbix. Especifique una contraseña cuando se le solicite y repita la contraseña (tenga en cuenta que es posible que primero se le solicite una contraseña para sudo):

sudo -u postgres createuser --pwprompt zabbix
  • Crear una base de datos.

El siguiente comando de shell creará la base de datos zabbix (último parámetro) con el usuario creado previamente como propietario (-O zabbix).

sudo -u postgres createdb -O zabbix -E Unicode -T template0 zabbix
  • Importe el esquema y los datos iniciales (suponiendo que se encuentre en el directorio raíz de las fuentes de Zabbix). Para una base de datos proxy Zabbix, solo se debe importar schema.sql (sin imágenes.sql ni datos.sql).
cd database/postgresql
       cat schema.sql | sudo -u zabbix psql zabbix
       # deténgase aquí si está creando una base de datos para el proxy Zabbix
       cat images.sql | sudo -u zabbix psql zabbix
       cat data.sql | sudo -u zabbix psql zabbix

Los comandos anteriores se proporcionan como un ejemplo que funcionará en la mayoría de las instalaciones de GNU/Linux. Puede utilizar diferentes comandos dependiendo de cómo esté configurado su sistema/base de datos, por ejemplo:

psql -U <nombre de usuario>

Si tiene algún problema para configurar la base de datos, consulte a su administrador de base de datos.

TimescaleDB

Las instrucciones para crear y configurar TimescaleDB se proporcionan en una [sección] separada (/manual/appendix/install/timescaledb).

SQLite

¡El uso de SQLite solo es compatible con el proxy Zabbix!

La base de datos será creada automáticamente si no existe.

Regrese a la sección de instalación.