zabbix 报错[Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE)解决办法

新安装的Zabbix在使用中文时遇到错误,原因是数据库字符集不匹配。解决方案包括:检查数据库主机的字符集,修改数据库配置文件添加UTF8支持,重启数据库,然后重新导入Zabbix数据模型,问题即可解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ECS大优惠点我点我!!!红包+折扣,阿里云上云大礼包!!!

新装的zabbix,导入模板或者新建群组时,用到中文保存时会报错。
如下:

–Error in query [SELECT usrgrpid,name FROM usrgrp WHERE name='运维组' LIMIT 1] [Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=']
–Error in query [INSERT INTO usrgrp (name,users_status,gui_access,debug_mode,usrgrpid) VALUES ('运维组','0','0','0','13')] [Incorrect string value: '\xE8\xBF\x90\xE7\xBB\xB4...' for column 'name' at row 1]
–SQL描述式执行已失败: "INSERT INTO usrgrp (name,users_status,gui_access,debug_mode,usrgrpid) VALUES ('运维组','0','0','0','13')".

在这里插入图片描述通过报错可以看出是sql执行出错,报错描述Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE)可以看出是数据库字符集的问题。
解决方法如下:
1、去zabbix数据库主机查看数据库字符集。

show variables like '%char%';

在这里插入图片描述
可以看到 character_set_databasecharacter_set_server的字符集都不是utf8的所以需要进行设置。
2、修改数据库配置文件(默认在/etc/my.cnf),增加如下配置:

[mysql]
default-character-set=utf8
[mysqld]
character-set-server = utf8

重启数据库
3、登录后再次执行show variables like '%char%';结果都是utf8了,如下:
在这里插入图片描述

4、重新导入zabbix数据模型。

# mysql -uzabbix -ppassword  zabbix < schema.sql 
# mysql -uzabbix -ppassword  zabbix < images.sql           
# mysql -uzabbix -ppassword  zabbix < data.sql 

再次添加后就可以啦。
在这里插入图片描述
所以大家最好在最初搭建zabbix数据库时加上这个参数,避免发生这样的问题。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值