189 8069 5689

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

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,


文章标题:Zabbix监控之字符集问题【4】
地址分享:http://cdxtjz.cn/article/gcdopp.html

其他资讯