无法启动zabbix-server-mysql的docker镜像:'无法使用数据库"zabbix&qu



我正在部署一个zabbix-server。我在云平台上创建了一个MySQL数据库。当我启动连接到这个DB的zabbix-server-mysql:alpine-5.2-latest容器时,它会在一段时间后自动退出。日志显示:

* Preparing Zabbix server
** Using MYSQL_USER variable from ENV
** Using MYSQL_PASSWORD variable from ENV
********************
* DB_SERVER_HOST: xxxxx
* DB_SERVER_PORT: 3306
* DB_SERVER_DBNAME: zabbix
********************
** Database 'zabbix' already exists. Please be careful with database COLLATE!
** Creating 'zabbix' schema in MySQL
ERROR 1071 (42000) at line 357: Specified key was too long; max key length is 3072 bytes
** Preparing Zabbix server configuration file
** Updating '/etc/zabbix/zabbix_server.conf' parameter "ListenPort": ''...removed
** Updating '/etc/zabbix/zabbix_server.conf' parameter "SourceIP": ''...removed
...
** Updating '/etc/zabbix/zabbix_server.conf' parameter "TLSPSKIdentity": ''...removed
** Updating '/etc/zabbix/zabbix_server.conf' parameter "TLSPSKFile": ''...removed
** Updating '/etc/zabbix/zabbix_server.conf' parameter "User": 'zabbix'...updated
Starting Zabbix Server. Zabbix 5.2.3 (revision ae46273).
Press Ctrl+C to exit.
8:20210125:093824.714 Starting Zabbix Server. Zabbix 5.2.3 (revision ae46273).
8:20210125:093824.714 ****** Enabled features ******
8:20210125:093824.714 SNMP monitoring:           YES
8:20210125:093824.714 IPMI monitoring:           YES
8:20210125:093824.714 Web monitoring:            YES
8:20210125:093824.714 VMware monitoring:         YES
8:20210125:093824.714 SMTP authentication:       YES
8:20210125:093824.714 ODBC:                      YES
8:20210125:093824.714 SSH support:               YES
8:20210125:093824.714 IPv6 support:              YES
8:20210125:093824.714 TLS support:               YES
8:20210125:093824.714 ******************************
8:20210125:093824.714 using configuration file: /etc/zabbix/zabbix_server.conf
8:20210125:093824.946 cannot use database "zabbix": its "users" table is empty (is this the Zabbix proxy database?)

它可以连接到MySQL并创建一些表,包括users表。

当我重新启动容器时,同样的错误再次出现。

我发现https://github.com/zabbix/zabbix-docker/issues/13,因此推断这是关于MySQL数据库排序的问题(这与警告** Database 'zabbix' already exists. Please be careful with database COLLATE!相匹配)

我用

重新创建MySQL数据库来解决这个问题
  1. 字符集:utf8
  2. 排序:utf8_bin

在将zabbix设备导入KVM时遇到了同样的问题。我通过在MySQL中删除zabbix数据库并重新创建它,并根据zabbix安装文档使用DB脚本填充它来解决这个问题。

对于使用docker安装的Zabbix,您必须将Zabbix数据库删除到MySQL容器中才能解决此错误。

最新更新