Глава 13. Приложение Г

Описание процесса установки БД для СУБД MySQL

Для работы модуля необходимо завести учетную запись пользователя СУБД MySQL. Для этого можно использовать командный интерпретатор mysql:

$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9 to server version: 5.0.26-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create user stg_user identified by '123456';
Query OK, 0 rows affected (0.04 sec)

Модуль для работы с MySQL автоматически создает БД и необходимые для его работы таблицы. Для этого у пользователя, указанного в настройках должны быть установлены соответствующие права (см. документацию по настройке MySQL: MySQL User Account Management). Модуль может корректно работать и с пользователем с ограниченными правами (полный доступ только к своей БД). Для этого необходимо сперва вручную создать БД, а затем дать пользователю права на доступ к ней. Например так:

$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9 to server version: 5.0.26-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create user stg_user identified by '123456';
Query OK, 0 rows affected (0.04 sec)

mysql> create database stg_database;
Query OK, 1 row affected (0.02 sec)

mysql> grant all on stg_database.* to stg_user;
Query OK, 0 rows affected (0.06 sec)

После этого модуль при первом запуске сам создаст необходимые таблицы.

Описание структуры БД для СУБД MySQL

Таблица admins (учетные записи администраторов системы):

  • login – название учетной записи администратора системы;

  • password – пароль для учетной записи администратора системы;

  • ChgConf – флаг, разрешающий менять конфигурационные параметры пользователы;

  • ChgPassword – флаг, позволяющий менять пароль пользователя;

  • ChgStat – флаг, позволяющий менять статистические данные пользователя;

  • ChgCash – флаг, позволяющий менять количество денег на счету у пользователя;

  • UsrAddDel – флаг, позволяющий управлять учетными записями пользователей;

  • ChgTariff – флаг, позволяющий управлять тарифами;

  • ChgAdmin – флаг, позволяющий управлять учетными записями администраторов системы.

Таблица tariffs (описание тарифов системы):

  • name – название тарифа;

  • PriceDayA<n> - стоимость 1 Мб трафика по направлению <n> днем до превышения порога;

  • PriceDayB<n> - стоимость 1 Мб трафика по направлению <n> днем после превышения порога;

  • PriceNightA<n> - стоимость 1 Мб трафика по направлению <n> ночью до превышения порога;

  • PriceNightB<n> - стоимость 1 Мб трафика по направлению <n> ночью после превышения порога;

  • Threshold<n> - порог по трафику;

  • Time<n> - время дня;

  • NoDiscount<n> - флаг, указывающий, что трафик по направлению <n> считается без учета порогового значения;

  • SinglePrice<n> - флаг, указывающий, что трафик по направлению <n> считается без учета времени суток;

  • PassiveCost – стоимость «заморозки» учетной записи пользователя;

  • Fee – абонплата;

  • Free – количество бесплатных Мб трафика, входящих в абонплату;

  • TraffType — тип тарификации трафика:

    • up+down — входящий и исходящий трафик тарифицируется суммарно;

    • up — тарифицируется только исходящий трафик;

    • down — тарифицируется только входящий трафик;

    • max — тарифицируется большее количество трафика;

  • Period — тип абонплаты:

    • day — ежедневная абонплата (параметр Fee трактуется как значение списываемое ежедневно);

    • month — ежемесячная абонплата (классическая, параметр Fee трактуется как значение списываемое за месяц, в том числе в режиме SpreadFee);

  • ChangePolicy — политика смены тарифа:

    • allow — на период действия политики смена тарифного плана разрешена;

    • to_cheap — на период действия политики разрешена смена тарифного плана на более дешевый;

    • to_expensive — на период действия политики разрешена смена тарифного плана на более дорогой;

    • deny — на период действия политики смена тарифного плана запрещена;

  • ChangePolicyTimeout — момент завершения действия политики тарификации (0 - политика тарификации не завершается никогда);

Таблица users (учетные записи пользователей системы и их статистика):

  • login – название учетной записи пользователя;

  • Password – пароль для учетной записи пользователя;

  • Passive – флаг режима «Заморожен»;

  • Down – флаг режима «Отключен»;

  • AlwaysOnline – флаг режима «Всегда on-line»;

  • Tariff – название тарифа;

  • Address – адрес пользователя;

  • Phone – номер телефона пользователя;

  • Email – адрес электронной почты пользователя;

  • Note – примечания;

  • RealName – реальное имя пользователя;

  • StgGroup – название группы пользователя;

  • Credit – величина кредита в деньгах;

  • TariffChange – название тарифа, на который будет переведен пользователь в начале месяца;

  • Userdata<n> - поля дополнительных данных пользователя;

  • CreditExpire – дата окончания действия кредита пользователя;

  • DisabledDetailStat — отключение детальной статистики пользователя;

  • IP – список IP-адресов пользователя;

  • D<n> - объем входящего трафика по направлению <n>;

  • U<n> - объем исходящего трафика по направлению <n>;

  • Cash – количество денег на счету;

  • FreeMb – количество бесплатных мегабайт;

  • LastCashAdd – последнее пополнение счета;

  • LastCashAddTime – время последнего пополнения счета;

  • PassiveTime - время, проведенное пользователем в «замороженном» состоянии за месяц (используется для вычисления объема снимаемой абонплаты);

  • LastActivityTime – время последней активности пользователя;

  • NAS – используется совместно с модулем захвата трафика для NetFlow.

Таблица messages (сообщения пользователю):

  • login – название учетной записи пользователя, для которой предназначено сообщение;

  • id – уникальный иденетификатор сообщения;

  • type – тип сообщения;

  • lastSendTime – время последней отсылки сообщения;

  • creationTime – время создания сообщения;

  • showTime – время показа сообщения;

  • stgRepeat – количество повторений сообщения;

  • repeatPeriod – период повторения сообщения;

  • text – текст сообщения.

Таблица stat (месячная статистика пользователей):

  • login – название учетной записи пользователя, которой принадлежит запись в статистике;

  • month – месяц записи статистики;

  • year – год записи статистики;

  • U<n> - объем исходящего трафика за месяц по направлениям;

  • D<n> - объем входящего трафика за месяц по направлениям;

  • cash – количество денег на счету.

Таблица logs_<m>_<y> (помесячный журнал сессий пользователя и изменений его параметров):

  • unid – уникальный идентификатор записи;

  • login – название учетной записи пользователя;

  • text – текст записи в журнале.

Таблица detailstat_<m>_<y> (помесячная детальная статистика пользователей):

  • login – название учетной записи пользователя;

  • day – порядковый номер дня в месяце;

  • startTime – время начала сессии;

  • endTime – время завершения сессии;

  • IP – удаленный IP-адрес;

  • dir – направление;

  • up – объем исходящего трафика;

  • down – объем входящего трафика;

  • cash – стоимость трафика.