【问题标题】:Cannot start docker image of zabbix-server-mysql: 'cannot use database "zabbix": its "users" table is empty (is this the Zabbix proxy database?)'无法启动 zabbix-server-mysql 的 docker 映像:'无法使用数据库“zabbix”:其“用户”表为空(这是 Zabbix 代理数据库吗?)'
【发布时间】:2021-01-26 02:26:22
【问题描述】:

我正在部署一个 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表。

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

【问题讨论】:

  • 这个问题与编程无关,因此在 SO 上是题外话。 SO 的 Serverfault 姊妹站点提供有关服务器配置问题的帮助。

标签: mysql docker zabbix


【解决方案1】:

我找到了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

【讨论】:

  • 好兄弟,原来我是用 utf8mb4 和 utf8mb4_bin 创建 MySQL 数据库,用 utf8 重新创建数据库后问题就解决了!
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多