zabbix 6.2显示数据库中表的字符集或排序规则不受支持

部署完Zabbix 6.2后,进入首页仪表盘看到“系统”信息栏,显示数据库中表的字符集或排序规则不受支持

ps: 我这是更新后的界面
由于在创建zabbix数据库时,字符集是utf8,字符排序是utf8_general_ci,那么现在根据文档要求改成字符集为utf8mb4,字符排序为utf8mb4_bin.

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

1
SELECT @@character_set_database, @@collation_database;

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

变更排序规则

1
alter database ‘zabbix’ character set utf8mb4 collate utf8mb4_bin;

2、调整表排列规则

1
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";

输出为以下语句若干

1
ALTER TABLE ha_node CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

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

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


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!