Биллинговая система Nodeny
25 Ноября 2024, 08:06:12 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: 1 ... 13 14 [15] 16
  Печать  
Автор Тема: Миграция с 50.32  (Прочитано 83555 раз)
NodenY45
NoDeny
Старожил
*

Карма: 2
Offline Offline

Сообщений: 365


Просмотр профиля
« Ответ #210 : 19 Ноября 2018, 03:30:23 »

Прошелся позапросно по файлу миграции и именно этот запрос затирает пароли...
Код:
 ALTER TABLE `users` MODIFY COLUMN passwd VARCHAR(64) NOT NULL;

при
Код:
SELECT AES_DECRYPT(passwd,'hardpass3') FROM users;
выдает NULL

в то же время у админов все ок
Код:
SELECT AES_DECRYPT(passwd,'hardpass3') FROM admin;

что это может быть то?


в итоге изменил запрос для пользователей на  ALTER TABLE `users` MODIFY COLUMN passwd varbinary(64) NOT NULL;
ничего страшного вроде совместимы типы.
« Последнее редактирование: 19 Ноября 2018, 04:01:15 от NodenY45 » Записан
NodenY45
NoDeny
Старожил
*

Карма: 2
Offline Offline

Сообщений: 365


Просмотр профиля
« Ответ #211 : 20 Ноября 2018, 11:19:38 »

Добавлю еще текста в мой монолог Смеющийся

Столкнулся с проблемой авторизации по DHCP после миграции.
Делал так
Код:
use nodeny;
source bill.sql; (бекап со старого биллинга)
source from_50.32_to_n_plus.txt;
cd /usr/local/nodeny
perl install.pl -x
perl install.pl -w=www
perl install.pl -m
perl install.pl -u

Так оказывается что в скрипте миграции старые функции и процедуры.
Пришлось накатывать вручную.

Но появился глупый вопрос, если сделать после обновление на нашу базу с данными такое:
Код:
use nodeny;
source bill.sql; (от Н+ , который идет в комплекте)

Оно обновит структуру и процедуры? или удалит данные?
« Последнее редактирование: 20 Ноября 2018, 11:45:57 от NodenY45 » Записан
NodenY45
NoDeny
Старожил
*

Карма: 2
Offline Offline

Сообщений: 365


Просмотр профиля
« Ответ #212 : 20 Ноября 2018, 17:49:57 »

Если авторизация в NoDeny не обновляется некоторое время (параметр timeout секунд в файле /usr/local/nodeny/kernel/auth.cfg), то она (авторизация) пропадает. По умолчанию timeout = 150 - это 2 с половиной минуты. Если за этот период не будет трафика - авторизация удаляется, появится трафик - появится авторизация. Если человек открыл сайт и читает его 3 минуты - авторизация пропадет, откроет новую страницу - появится.

Фишка в том, что режим "всегда онлайн" - это костыль для тех, кто ну никак не может либо настроить нормальную авторизацию, либо подстроить свою схему работы либо по иным необъективным причинам. В нормальной сети лучше отказаться от  "всегда онлайн". Как при "всегда онлайн" понять что комп авторизован? Вообще, что понимать под авторизацией если как таковой авторизации нет? Либо пинать (пинговать) комп либо смотреть на его проявления (есть ли трафик).

Модуль authtraf пытается изобразить авторизацию. Комп включен - он авторизован или нет? Комп включен, но у него неверные настройки (весь трафик блочится фаерволом и он фактически не получает инет) - он авторизован или нет? И т.д. аналогичные вопросы.

Я надеюсь вы поняли, что проблема не в недоработке модуля, а в том, что есть какие-то объективные причины в нашем мире, по которым некоторые вещи невозможны.

Если ты все же хочешь остаться на этом костыле и не хочешь видеть рваные авторизации - увеличь параметр timeout, но этим ты получишь лаг в том, что комп будет уже выключен, а ключик будет светиться, что он авторизован.

это относится только к модулю authtraf?
или и к dhcp тоже?
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #213 : 21 Ноября 2018, 07:52:28 »

Модуль ядра dhcp тоже пытается изобразить авторизацию ибо после получения ip и до момента запроса на продолжение его использования dhcp серверр никак не знает вырубили комп или нет, ну и следовательно биллинг об этом не знает. В dhcp протоколе не предусмотрено такое
Записан
Jovani
NoDeny
Постоялец
*

Карма: -9
Offline Offline

Сообщений: 234


Просмотр профиля
« Ответ #214 : 10 Октября 2019, 13:59:01 »

Прошу допомоги.
При переході з 50.32 на Н+ виникає помилка як додавати нового клієнта.
Код:
	0.400556	
304 Db.pm::sql


Statement violates GTID consistency: Updates to non-transactional tables can only be done in either autocommitted statements or single-statement transactions, and never in the same statement as updates to transactional tables.

{
  'param' => [
    8688
  ],
  'sql' => 'INSERT INTO users_trf SET uid=?'
};
 
 INSERT INTO users_trf SET uid='8688'

+ 0.400759
181 Db.pm::rollback
rollback
Записан
Jovani
NoDeny
Постоялец
*

Карма: -9
Offline Offline

Сообщений: 234


Просмотр профиля
« Ответ #215 : 10 Октября 2019, 15:02:01 »

Конвертнув по новому, вилізла інша помилка
Код:
Field 'ip' doesn't have a default value 

{
  'sql' => 'INSERT INTO users SET modify_time=UNIX_TIMESTAMP(), comment=?, lstate=?, contract_date=?, limit_balance=?, block_if_limit=?, grp=?, state=?, cstate=?, contract=?, cstate_time=?, fio=?, passwd=AES_ENCRYPT(?,?), id=?',
  'param' => [
    '',
    0,
    0,
    '0',
    1,
    20,
    'on',
    1,
    '',
    0,
    '',
    '87464438h1',
    '3654xx',
    8683
  ]
};
 
 INSERT INTO users SET modify_time=UNIX_TIMESTAMP(), comment='', lstate='0', contract_date='0', limit_balance='0', block_if_limit='1', grp='20', state='on', cstate='1', contract='', cstate_time='0', fio='', passwd=AES_ENCRYPT('87464438h1','3654xx'),
 id='8683'
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #216 : 10 Октября 2019, 17:43:21 »

В N+ поле ip не должно существовать в таблице users. Скорее всего проблема возникла в более ранних sql, смотри внимательно
Записан
Jovani
NoDeny
Постоялец
*

Карма: -9
Offline Offline

Сообщений: 234


Просмотр профиля
« Ответ #217 : 11 Октября 2019, 07:26:13 »

Так мне все поля удалить с такой ошибкой и те которых нет в оригинальной базе Н+?
Field 'name' doesn't have a default value но такое поле присутствует в базе Н+...
Записан
Redmen
NoDeny
Ветеран
*

Карма: 62
Offline Offline

Сообщений: 546


Подяку в КАРМУ


Просмотр профиля WWW
« Ответ #218 : 11 Октября 2019, 09:09:13 »

http://forum.nodeny.com.ua/index.php?topic=2724.msg27908#msg27908
Записан

Приймаю подяку у вигляді карми... та/або грошей Подмигивающий
t.me/MrMethod
Jovani
NoDeny
Постоялец
*

Карма: -9
Offline Offline

Сообщений: 234


Просмотр профиля
« Ответ #219 : 11 Октября 2019, 15:50:20 »


Спасибо, помогло.

Но теперь осталась такая ошибка.

Посмотрел таблицу users_trf, там нет uid 8696...

Код:
Statement violates GTID consistency: Updates to non-transactional tables can only be done in either autocommitted statements or single-statement transactions, and never in the same statement as updates to transactional tables. 

{
  'sql' => 'INSERT INTO users_trf SET uid=?',
  'param' => [
    8696
  ]
};
 
 INSERT INTO users_trf SET uid='8696'
« Последнее редактирование: 11 Октября 2019, 16:15:20 от Jovani » Записан
Jovani
NoDeny
Постоялец
*

Карма: -9
Offline Offline

Сообщений: 234


Просмотр профиля
« Ответ #220 : 11 Октября 2019, 17:07:10 »

Мне кажется нет данных у кого какая услуга. Хотя если открыть клиента, услуга у клиентов установлена.
Как можно одни запросом пересохранить всех клиентов?
Будет не реально заходить и каждого клиента пересохранять.
 
Код:
describe users_trf ;
+----------+------------------+------+-----+---------+-------+
| Field    | Type             | Null | Key | Default | Extra |
+----------+------------------+------+-----+---------+-------+
| uid      | int(11) unsigned | NO   | PRI | NULL    |       |
| submoney | float            | NO   |     | 0       |       |
| in1      | bigint(20)       | NO   |     | 0       |       |
| out1     | bigint(20)       | NO   |     | 0       |       |
| in2      | bigint(20)       | NO   |     | 0       |       |
| out2     | bigint(20)       | NO   |     | 0       |       |
| in3      | bigint(20)       | NO   |     | 0       |       |
| out3     | bigint(20)       | NO   |     | 0       |       |
| in4      | bigint(20)       | NO   |     | 0       |       |
| out4     | bigint(20)       | NO   |     | 0       |       |
| in5      | bigint(20)       | NO   |     | 0       |       |
| out5     | bigint(20)       | NO   |     | 0       |       |
| in6      | bigint(20)       | NO   |     | 0       |       |
| out6     | bigint(20)       | NO   |     | 0       |       |
| in7      | bigint(20)       | NO   |     | 0       |       |
| out7     | bigint(20)       | NO   |     | 0       |       |
| in8      | bigint(20)       | NO   |     | 0       |       |
| out8     | bigint(20)       | NO   |     | 0       |       |
| traf1    | bigint(20)       | NO   |     | 0       |       |
| traf2    | bigint(20)       | NO   |     | 0       |       |
| traf3    | bigint(20)       | NO   |     | 0       |       |
| traf4    | bigint(20)       | NO   |     | 0       |       |
| test     | tinyint(4)       | NO   |     | 0       |       |
| actual   | tinyint(4)       | NO   | MUL | 0       |       |
+----------+------------------+------+-----+---------+-------+
24 rows in set (0.00 sec)
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #221 : 12 Октября 2019, 10:07:40 »

Я думаю проблема в этом:
Цитировать
non-transactional tables
скорее всего таблица в myisam и надо сконвертировать в innodb
Записан
Jovani
NoDeny
Постоялец
*

Карма: -9
Offline Offline

Сообщений: 234


Просмотр профиля
« Ответ #222 : 12 Октября 2019, 10:14:30 »

Стас большое спасибо за подсказку, конвертнул таблицы users и trf, пока ошибок в дебаг нет.
Все таблицы конвертировал в InnoDB.
Записан
Jovani
NoDeny
Постоялец
*

Карма: -9
Offline Offline

Сообщений: 234


Просмотр профиля
« Ответ #223 : 16 Октября 2019, 14:05:25 »

1. После перехода у всех стоит снятие за услугу 0.
Как теперь сделать, чтоб у всех сняло за услугу?

Платеж, связанный с услугой, не существует!

2. И появился бонус у всех у кого было несколько IP.
Откуда он взялся?
Как решить такие проблемы ?
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #224 : 21 Октября 2019, 17:35:07 »

Как ты подключил услуги?

Код:
perl install.pl -u
?
Записан
Страниц: 1 ... 13 14 [15] 16
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!