|
Zabbix 历史记录处出现问号乱码
历史记录处出现问号乱码
这与zabbix数据库所使用的字符集有关,解决方法如下:
1.查看当前的默认字符集
12345678910111213141516171819202122mysql>show create database zabbix;+----------+-------------------------------------------------------------------+|Database | Create Database |+----------+-------------------------------------------------------------------+|zabbix | CREATE DATABASE `zabbix` /*!40100 DEFAULT CHARACTER SET latin1 */ |+----------+-------------------------------------------------------------------+1row in set (0.00sec)#安装时在导入三个sql文件时,zabbix数据库中创建的表的字符集也是latin1mysql>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/ |+--------------------------+----------------------------+8rows in set (0.00sec)
2.这是由于字符集不是utf8引起的,现在的解决方法有两种:
当当前zabbix数据库中已存在一定的数据的解决办法
1)备份zabbix数据库
1[iyunv@zhu1~]#mysqldump -uroot -p123456 zabbix > zabbix.sql2)修改备份文件
1[iyunv@zhu1~]#sed -i 's/latin1/utf8/g' zabbix.sql3)删除zabbix数据库
1mysql>drop database zabbix;
4)关闭mysql数据库,设置默认字符集
123456[iyunv@zhu1~]#vim /etc/my.cnf[mysqld]log-bindatadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sockdefault-character-set =utf8 #添加该项
5)启动mysql并恢复zabbix数据库
1[iyunv@zhu1~]#mysql -uroot -p123456 zabbix < zabbix.sql
123456789101112131415161718192021mysql>show create database zabbix;+----------+-----------------------------------------------------------------+|Database | Create Database |+----------+-----------------------------------------------------------------+|zabbix | CREATE DATABASE `zabbix` /*!40100 DEFAULT CHARACTER SET utf8 */ |+----------+-----------------------------------------------------------------+1row in set (0.00sec)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/ |+--------------------------+----------------------------+8rows in set (0.00sec)6)访问页面
2.当安装后发现,则可以:
123#1.删除zabbix数据库#2.设置mysql数据库的默认字符集为utf8#3.重新创建zabbix数据库并导入三个sql文件
总结:
2
123456789101112--with-charset=CHARSETDefaultcharacter set,use one of:binaryarmscii8ascii big5 cp1250 cp1251 cp1256 cp1257cp850cp852 cp866 cp932 dec8 eucjpms euckr gb2312 gbk geostd8greekhebrew hp8 keybcs2 koi8r koi8ulatin1latin2 latin5 latin7 macce macromansjisswe7 tis620 ucs2 ujis utf8--with-extra-charsets=CHARSET,CHARSET,...Usecharsets in additionto default (none, complex,all,or a list selected from the above sets)#上面这两个是编译安装mysql事对字符集设置的参数,当不进行设置时默认便是latin1, |
|
|