部署完Zabbix 6.2后,进入首页仪表盘看到“系统”信息栏,显示数据库中表的字符集或排序规则不受支持 ps: 我这是更新后的界面 由于在创建zabbix数据库时,字符集是utf8,字符排序是utf8_general_ci,那么现在根据文档要求改成字符集为utf8mb4,字符排序为utf8mb4_bin.

1、确认当前字符集与字符排序信息

SELECT @@character_set_database, @@collation_database;

注意:以防万一,先备份数据库在往后执行

变更排序规则

alter database ‘zabbix’ character set utf8mb4 collate utf8mb4_bin;

2、调整表排列规则

SELECT CONCAT("ALTER TABLE ", TABLE_NAME," CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;") AS ExecuteTheString FROM information_schema.`COLUMNS` WHERE table_schema ="zabbix_db" AND COLLATION_NAME ="utf8_general_ci";

输出为以下语句若干

ALTER TABLE ha_node CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

如果不知mysql命令行怎么导出查询结果语句,可用Navicat工具操作,如下操作: (1)、打开数据库选择查询

(2)、导入SQL语句 将导出的sql语句用编辑器打开,过滤多余信息,保留sql语句 然后导入SQL文件执行批量SQL语句 最后刷新数据。