MySQL-сервер
MySQL-сервер используется как постоянное хранилище для большинства данных биллинговой системы. Доступ к нему со стороны приложений биллинга осуществляется посредством сетевого соединения, поэтому MySQL может быть установлен на отдельной машине с любой поддерживаемой ОС. Для небольших баз, либо тестовых целей возможна установка MySQL на одну машину с сервером биллинга и другими серверными приложениями, весь процесс установки описан под этот случай и все конфигурации по умолчанию также ориентированы на этот случай.
Для работы биллинга необходим MySQL-сервер версии 5.1 и новее. Свежий сервер MariaDB — очень хороший вариант. Служба MySQL-сервера должна быть запущена до момента старта всех серверных приложений биллинга.
После установки MySQL-сервера (см. далее) произведите его настройку в соответствии требованиями и рекомендациями по настройке MySQL-сервера с нашего WiKi.
Подключение к MySQL для каждого приложения настраивается в .properties файле, например data/data.properties для сервера биллинга, планировщика и загрузчика логов.
db.driver=com.mysql.jdbc.Driver
db.url=jdbc
:mysql
://
127
.
0
.
0
.
1
/bgbilling?useUnicode=
true
&characterEncoding=
UTF
-
8
&connectionCollation=utf8_unicode_ci&allowUrlInLocalInfile=
true
&zeroDateTimeBehavior=convertToNull&jdbcCompliantTruncation=
false
db.user=bill
db.pswd=bgbilling
Если база данных MySQL и приложение установлены на одной машине, то ничего менять не надо. В противном случае вместо 127.0.0.1 указывается IP-адрес машины с БД. Параметры db.user и db.pswd определяют имя пользователя и пароль, под которыми приложение будет подключаться к базе данных. Возможна настройка отдельного пользователя MySQL для каждого серверного приложения биллинга, это позволит сразу видеть источник запроса на MySQL-сервере.
Пользователь bill с паролем bgbilling создаётся при начальном создании БД при установке сервера биллинга (скрипт dump.sql).
Обратите внимание на параметры characterEncoding и connectionCollation - значения должны соответствовать реальной картине с кодировками (также см. ниже).
*NIX
Для установки MySQL-сервера на *NIX-машине воспользуйтесь предусмотренным системой способом установки. Например, для Linux с пакетным менеджером yum:
yum
install
mysql, mysql-server
Служба сервера обычно устанавливается и стартует автоматически. Обратите внимание, что для заливки дампа базы помимо сервера MySQL вам понадобится клиентское приложение mysql.
Windows
Для установки MySQL-сервера на Windows-машине загрузите последнюю версию с сайта http://dev.mysql.com/downloads/mysql/. Рекомендуем установить MySQL Server в корень диска, например в папку C:\MySQL.
Служба сервера обычно устанавливается и стартует автоматически. Обратите внимание, что для заливки дампа базы помимо сервера MySQL вам понадобится клиентское приложение mysql.
О кодировках
Рекомендуемые настройки для БД "character_set" везде "utf8", настройки "collation" везде "utf8_unicode_ci" (не "utf8_general_ci").
Проверить можно запросами (из sql-клиента):
SHOW VARIABLES
LIKE
'character_set%'
;
SHOW VARIABLES
LIKE
'colla%'
;
Ориентировочные настройки MySQL-сервера:
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
collation-server=utf8_unicode_ci
init_connect="SET collation_connection = utf8_unicode_ci;"
Если collation установлен именно "utf8_unicode_ci" — также обратите внимание на параметр "connectionCollation=utf8_unicode_ci" в db.url в data.properties (см. выше). Здесь и в других местах его приходится дополнительно прописывать, т.к. для MySQL collation по-умолчанию для utf8 является utf8_general_ci.