记录docker下安装zabbix的一次问题(连不上数据库,ERROR1366)

安装教程见官网 docker安装

windows下的docker分linux与windows内核,选择linux内核即可。


启动一个空的MySQL服务器实例

# docker run --name mysql-server -t \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix_pwd" \
      -e MYSQL_ROOT_PASSWORD="root_pwd" \
      -d mysql:5.7

启动Zabbix Java gateway实例

# docker run --name zabbix-java-gateway -t \
      -d zabbix/zabbix-java-gateway:latest

启动Zabbix server实例,并关联这个实例到已创建的MySQL服务器实例

# docker run --name zabbix-server-mysql -t \
      -e DB_SERVER_HOST="mysql-server" \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix_pwd" \
      -e MYSQL_ROOT_PASSWORD="root_pwd" \
      -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
      --link mysql-server:mysql \
      --link zabbix-java-gateway:zabbix-java-gateway \
      -p 10051:10051 \
      -d zabbix/zabbix-server-mysql:latest

启动Zabbix web 接口,并将它与MySQL服务器实例和Zabbix server实例关联

# docker run --name zabbix-web-nginx-mysql -t \
      -e DB_SERVER_HOST="mysql-server" \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix_pwd" \
      -e MYSQL_ROOT_PASSWORD="root_pwd" \
      --link mysql-server:mysql \
      --link zabbix-server-mysql:zabbix-server \
      -p 80:80 \
      -d zabbix/zabbix-web-nginx-mysql:latest

此时出现问题。通过docker ps命令,发现Zabbix server启动后秒退,运行出错。

通过docker logs + 容器 命令,查找错误。

发现错误代码是  6:20200922:085232.571 cannot use database "zabbix": its "users" table is empty (is this the Zabbix proxy database?)  

                 往上调查发现是: “ERROR 1366 (HY000) at line 6586: Incorrect string value: '\xD0\xBEf bl...' for column 'description' at row 1。

经过排查,在此找到了解答。(不得不说解决技术问题还是得看谷鸽)。

查看默认的数据类型:

(查看数据类型的步骤见: 链接

经过命令:

docker run --name mysql-server -t  -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix"  -e MYSQL_PASSWORD="zabbix_pwd" -e MYSQL_ROOT_PASSWORD="root_pwd"  -d mysql:5.7 --character-set-server=utf8 --collation-server=utf8_unicode_ci

将数据库初始化为utf-8格式,此时数据库格式:

重新运行一遍官网教程,可以看到此时docker容器可以正常启动了。

CONTAINER ID        IMAGE                           COMMAND                  CREATED             STATUS              PORTS                                    NAMES
b912a3732a61        zabbix/zabbix-web-nginx-mysql   "docker-entrypoint.sh"   15 hours ago        Up 15 hours         8080/tcp, 0.0.0.0:80->80/tcp, 8443/tcp   zabbix-web-nginx-mysql
6e9fee3e73ae        zabbix/zabbix-server-mysql      "/sbin/tini -- /usr/…"   16 hours ago        Up 16 hours         0.0.0.0:10051->10051/tcp                 zabbix-server-mysql
1157bdbf64ec        zabbix/zabbix-java-gateway      "docker-entrypoint.s…"   16 hours ago        Up 16 hours         10052/tcp                                zabbix-java-gateway
7828adc506a7        mysql:5.7                       "docker-entrypoint.s…"   16 hours ago        Up 16 hours         3306/tcp, 33060/tcp

参考链接:

修改到UTF-8mb4(会报错,去掉mb4即可)

zabbix论坛,找到是utf8问题

docker安装zabbix中文

centos版本教程

 

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
Docker安装Zabbix,首先需要执行两个命令来生成Zabbix Server和Zabbix Web容器。执行以下命令生成Zabbix Server容器: ``` docker run --name zabbix-server-mysql-8 -t \ --net=zabbix_app_net \ --env-file /root/docker_env_file/zabbix_server_8.list \ -v /root/zabbix_etc_file/alertscripts:/usr/lib/zabbix/alertscripts \ -p 10051 \ -d zabbix/zabbix-server-mysql:centos-4.0.3 ``` \[1\] 然后,执行以下命令生成Zabbix Web容器: ``` docker run --name zabbix-web-nginx-mysql-8 \ --net=zabbix_app_net \ -p80 \ --env-file /root/docker_env_file/zabbix_web_8.list \ -d zabbix/zabbix-web-nginx-mysql:centos-4.0.3 ``` \[2\] 这样就在Docker中成功安装ZabbixZabbix是一个基于WEB界面的开源解决方案,提供分布式系统监视和网络监视功能。它能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以便系统管理员快速定位和解决问题Zabbix由两部分组成,服务端Zabbix Server和可选组件客户端Zabbix Agent。安装Zabbix之前,需要准备好VMware Workstation Pro和CentOS 7的环境,并安装Docker容器。然后,通过在Docker镜像下安装Zabbix的步骤,可以完成Zabbix安装和配置。\[3\] #### 引用[.reference_title] - *1* *2* [ZABBIX(docker版)安装](https://blog.csdn.net/topswim/article/details/87877454)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Zabbix最简易安装部署:基于docker容器](https://blog.csdn.net/weixin_66651551/article/details/128882409)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值