无法启动zabbix-server-mysql的docker镜像:'无法使用数据库“zabbix”:其“users”表为空(这是Zabbix代理数据库吗?)'

问题描述 投票:0回答:4

我正在部署 zabbix-server。我在云平台上创建了一个MySQL数据库。当我启动连接到该数据库的

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
表。

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

mysql docker zabbix
4个回答
2
投票

我发现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

0
投票

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


0
投票

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


0
投票

我解决了更改字符集和排序规则的问题。这是我在 dockerfile 中的代码:

code dockerfile mysql

在此之前,我每次执行命令以启动 docker-compose 时都需要删除 zabbix 数据库。

© www.soinside.com 2019 - 2024. All rights reserved.