воскресенье, 27 января 2013 г.

Кодировка в Zabbix.

При установке Zabbix на CentOS база MySQL ставится в неправильной кодировке, поэтому кириллица отображается неправильно.

Мы установим PHPMyAdmin и с его помощью поменяем кодировку на utf8_unicode_ci

PHPMyAdmin — веб-приложение с открытым кодом, написанное на языке PHP и представляющее собой веб-интерфейс для администрирования СУБД MySQL. PHPMyAdmin позволяет через браузер осуществлять администрирование сервера MySQL, запускать команды SQL и просматривать содержимое таблиц и баз данных.


Установка PHPMyAdmin на CentOS 6.3


Установим репозитарий RPMForge.

Импортирование ключа.

# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
Подключение репозитария

Установка PHPMyAdmin.

# yum install phpmyadmin
 Теперь надо провести несколько настроек. В файле /etc/httpd/conf.d/phpmyadmin.conf 
прописать с какого ip адреса разрешить подключение (по умолчанию прописан 127.0.0.1). Прописываем через пробел необходимый адрес.

Теперь набрав в браузере http://<ip адрес сервера или доменное имя>/phpmyadmin/ - получим форму на ввод логина и пароля. 

Также в файле phpmyadmin.conf перечислено несколько алиасов, поэтому наравне с phpmyadmin можно использовать - phpMyAdmin, mysqladmin или придумать и отредактировать свой алиас.

Заходим в phpmyadmin и видим, что наша база в неправильной, т.е. в шведской кодировке.

Изменение кодировки MySQL на utf8_unicode_ci


Перейдем во вкладку SQL, вставляем текст скрипта:

SELECT CONCAT('ALTER TABLE `', t.`TABLE_SCHEMA`, '`.`', t.`TABLE_NAME`, '` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;') as sqlcode
FROM `information_schema`.`TABLES` t
WHERE 1
AND t.`TABLE_SCHEMA` = 'zabbix'
ORDER BY 1

Вместо zabbix вставляем свое имя базы, если она называется не так.
Выполняем.
Выполнив этот запрос, мы получим еще один SQL, модифицирующий кодировку таблиц.
Делаем экспорт, выбираем приемлемый для вас формат, например WORD.
В открывшемся файле копируем строки, ниже «Дамп данных таблицы TABLES»

Дамп данных таблицы TABLES

ALTER TABLE `zabbix`.`acknowledges` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE `zabbix`.`actions` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE `zabbix`.`alerts` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
……………………………

И выполняем скопированный код.
Все, кодировка поменялась на utf8_unicode_ci.



Переходим в WEB-интерфейс ZABBIX, видим русский текст и радуемся.



Комментариев нет:

Отправить комментарий