Erro ao instalar Zabbix Server: ERROR 1071 (42000) at line 165: Specified key was too long; max key length is 767 bytes

Durante a instalação do Zabbix Server, é necessário criar um banco de dados e executar um script, que cria tabelas e etc. Ao fazer isto, recebo o erro abaixo:

root@ZabbixServer:~# mysql -e "CREATE DATABASE zabbix"
root@ZabbixServer:~# mysql -e "CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'Nerv2019'"
root@ZabbixServer:~# mysql -e "GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost'"
root@ZabbixServer:~#  mysql zabbix < /usr/share/doc/zabbix-server-mysql/create.sql
ERROR 1071 (42000) at line 165: Specified key was too long; max key length is 767 bytes
root@ZabbixServer:~#

A solução é criar o banco desta forma.

root@ZabbixServer:~# mysql -e 'DROP DATABASE zabbix'
root@ZabbixServer:~# mysql -e "CREATE DATABASE zabbix character set utf8 collate utf8_bin"
root@ZabbixServer:~# mysql zabbix < /usr/share/doc/zabbix-server-mysql/create.sql
root@ZabbixServer:~#

A documentação oficial de instalação do Zabbix Server não cita este detalhe:
https://www.zabbix.com/documentation/4.2/manual/installation/install_from_packages/debian_ubuntu

Acho que não tive este erro antes na instalação do Zabbix Server pois tenho instalado ele em CentOS 7 e MySQL (já instalei em 5.6, 5.7 e 8.0). Mas tive que instalar um Zabbix Server em um Debian Stretch, que por padrão vem com o MariaDB 10.1, e aí tive este erro.

No MySQL 8.0, vi que uma tabela por padrão é criada com “CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci”, e no MariaDB 10.1 “CHARACTER SET utf8mb4”. O problema deve ser por aí.

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.