Zabbix监控 之 字符集问题【4】
admin
2023-05-27 14:41:47
0

ix监控中常碰到的字符集问题有三个:


1.图形中显示中文乱码

Zabbix监控 之解决zabbix图中出现中文乱码问题【附属】

Zabbix监控 之 字符集问题【4】

解决方法:


1

2

3

4

5

6

#1.从window主机路径C:\Windows\Fonts下选择一种自己喜欢的字体,如mysh.ttf(雅黑);

#2.将拷贝出来的字体上传到zabbix server网页文件的fonts目录下,并命名为

DejaVuSans.ttf

[root@zhu1 ~]# mv /var/www/html/fonts/DejaVuSans.ttf /var/www/html/fonts/DejaVuSans.ttf.old

mv/var/www/html/fonts/mysh.ttf /var/www/html/fonts/DejaVuSans.ttf

#这样便能解决这个乱码问题



2.历史记录处出现问号乱码,以及无法更新,功能报数据库长乱码错误。


Zabbix监控 之 字符集问题【4】

这与zabbix数据库所使用的字符集有关,解决方法如下:


1.查看当前的默认字符集


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

mysql> show create database zabbix;

+----------+-------------------------------------------------------------------+

| Database | Create Database                                                   |

+----------+-------------------------------------------------------------------+

| zabbix   | CREATE DATABASE `zabbix` /*!40100 DEFAULT CHARACTER SET latin1 */ |

+----------+-------------------------------------------------------------------+

1 row inset(0.00 sec)

#安装时在导入三个sql文件时,zabbix数据库中创建的表的字符集也是latin1

mysql> show variables like 'character%';

+--------------------------+----------------------------+

| Variable_name            | Value                      |

+--------------------------+----------------------------+

| character_set_client     | latin1                     |

| character_set_connection | latin1                     |

| character_set_database   | latin1                     |

| character_set_filesystem | binary                     |

| character_set_results    | latin1                     |

| character_set_server     | latin1                     |

| character_set_system     | utf8                       |

| character_sets_dir       | /usr/share/mysql/charsets/|

+--------------------------+----------------------------+

8 rows inset(0.00 sec)


2.这是由于字符集不是utf8引起的,现在的解决方法有两种:

当当前zabbix数据库中已存在一定的数据的解决办法

1)备份zabbix数据库


1

[root@zhu1 ~]# mysqldump -uroot -p123456  zabbix > zabbix.sql

2)修改备份文件


1

[root@zhu1 ~]# sed -i 's/latin1/utf8/g' zabbix.sql

3)删除zabbix数据库


1

mysql> drop database zabbix;


4)关闭mysql数据库,设置默认字符集


1

2

3

4

5

6

[root@zhu1 ~]# vim /etc/my.cnf

[mysqld]

log-bin

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

default-character-set= utf8 #添加该项 or

character-set-server=utf8 


5)启动mysql并恢复zabbix数据库


1

[root@zhu1 ~]# mysql -uroot -p123456 zabbix < zabbix.sql


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

mysql> show create database zabbix;

+----------+-----------------------------------------------------------------+

| Database | Create Database                                                 |

+----------+-----------------------------------------------------------------+

| zabbix   | CREATE DATABASE `zabbix` /*!40100 DEFAULT CHARACTER SET utf8 */ |

+----------+-----------------------------------------------------------------+

1 row inset(0.00 sec)

mysql> show variables like 'character%';

+--------------------------+----------------------------+

| Variable_name            | Value                      |

+--------------------------+----------------------------+

| character_set_client     | latin1                     |

| character_set_connection | latin1                     |

| character_set_database   | utf8                       |

| character_set_filesystem | binary                     |

| character_set_results    | latin1                     |

| character_set_server     | utf8                       |

| character_set_system     | utf8                       |

| character_sets_dir       | /usr/share/mysql/charsets/|

+--------------------------+----------------------------+

8 rows inset(0.00 sec)

6)访问页面

2.当安装后发现,则可以:

Zabbix监控 之 字符集问题【4】

1

2

3

#1.删除zabbix数据库

#2.设置mysql数据库的默认字符集为utf8

#3.重新创建zabbix数据库并导入三个sql文件



总结:

2

1

2

3

4

5

6

7

8

9

10

11

12

--with-charset=CHARSET

Default character set, use one of:

binary

armscii8 ascii big5 cp1250 cp1251 cp1256 cp1257

cp850 cp852 cp866 cp932 dec8 eucjpms euckr gb2312 gbk geostd8

greek hebrew hp8 keybcs2 koi8r koi8u

latin1 latin2 latin5 latin7 macce macroman

sjis swe7 tis620 ucs2 ujis utf8

--with-extra-charsets=CHARSET,CHARSET,...

Use charsets inaddition to default (none, complex,

all, or a list selected from the above sets)

#上面这两个是编译安装mysql事对字符集设置的参数,当不进行设置时默认便是latin1,


相关内容

热门资讯

汉艺精密取得一种直线导轨专利,... 国家知识产权局信息显示,东莞市汉艺精密机械有限公司取得一项名为“一种直线导轨”的专利,授权公告号CN...
40余名台湾青年在闽研学AI电... 漳州8月5日电 (记者 张金川)8月5日,40余名台湾青年在福建省漳州市云霄县圆满结束了他们为期五天...
AI智能体能替你谈判账单吗?实... 用AI来协商经常性账单的费率,是那种永远排在待办清单末尾的琐事。即便每年费用都在上涨,大多数人还是选...
陕西柞水遭遇大暴雨,五千余户群... 8月5日7时至15时,陕西省商洛市柞水县出现大到暴雨、局地大暴雨,杏坪社区地质站最大降雨量135.4...
伊朗与阿曼会谈最新细节曝光 美国有线电视新闻网(CNN)8月5日报道,伊朗和阿曼将敲定一项关于通过霍尔木兹海峡进行商业航运的框架...
大科学装置建设全面提速 创新成... 央视网消息(新闻联播):重大科技基础设施是建设科技强国的利器。今年以来,我国大科学装置建设全面提速,...
贝塔创新科技观察算力公有化趋势... 从公有云到公有算力网络:AI基础设施进入弹性调度时代 过去几年,市场更关注大模型参数、算法能力和应...
活力中国调研行丨激活创新源 合... 新华社合肥8月5日电 题:激活创新源 合肥大健康科研成果加速产业化 新华社记者高亢、张紫赟 近日,“...
凤凰连线:为何伊朗称“即使与阿... 据凤凰卫视报道,伊朗知情人士当地时间周三透露称,伊朗与阿曼就霍尔木兹海峡船舶通行安排,可能达成协议,...
伊朗称与阿曼就霍尔木兹海峡航运... 据凤凰卫视报道,伊朗外交部发言人巴加埃5日表示,伊朗与阿曼已就霍尔木兹海峡拟定航道的地理坐标达成一致...