тут вже Стас писав, і в останніх ревізіях NoDeny Next цю проблему виправлено з глобальним пошуком.
А так, я з 2020 року на 8.0 без 'ONLY_FULL_GROUP_BY' - ніби все працює

| Биллинговая система Nodeny |
|
18 Июня 2026, 03:44:38
|
|||
|
|||
| Новости: Прекращена поддержка версии Nodeny 49 |
| Начало | Помощь | Поиск | Войти | Регистрация |
|
1
: 17 Июня 2026, 09:44:49
|
||
| Автор WideAreaNetwork - Последний ответ от Redmen | ||
|
https://forum.nodeny.com.ua/index.php?topic=3393.msg37531#msg37531
тут вже Стас писав, і в останніх ревізіях NoDeny Next цю проблему виправлено з глобальним пошуком. А так, я з 2020 року на 8.0 без 'ONLY_FULL_GROUP_BY' - ніби все працює ![]() |
||
|
2
: 16 Июня 2026, 15:52:48
|
||
| Автор WideAreaNetwork - Последний ответ от WideAreaNetwork | ||
|
після оновлення ОС і всіх пакетів виникла проблема, в білінгу не працює пошук, вводиш запит а у відповідь тишина, про саму проблему пише:
виконується старий SQL-запит, де є GROUP BY u.grp, dict.k, але в SELECT ще використовується dict.v. MySQL 8.4 в строгому режимі ONLY_FULL_GROUP_BY таке забороняє Код: mysql -u root -p -e "SELECT @@GLOBAL.sql_mode\G" Enter password: *************************** 1. row *************************** @@GLOBAL.sql_mode: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION просто виключив і все запрацювало Код: mysql -u root -p -e "SET GLOBAL sql_mode = sys.list_drop(@@GLOBAL.sql_mode, 'ONLY_FULL_GROUP_BY'); SELECT @@GLOBAL.sql_mode\G" Enter password: *************************** 1. row *************************** @@GLOBAL.sql_mode: STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION питання в тому чи може це відключення вплинути негатино на щось? чи можливо потрібне інше рішення застосувати? |
||
|
3
: 18 Мая 2026, 08:38:26
|
||
| Автор sedo26 - Последний ответ от Efendy | ||
|
Ти правильно написав, що ONLY_FULL_GROUP_BY блокує сумісність зі старим мускулом. Треба прибрати в налаштуваннях:
Код: [mysqld] sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION Взагалі, я фікшу ці несумісності в коді, якщо знаходжу, ось нещодавно пофіксив глобальний пошук. Фікс залив в NoDeny Next. Але я не розумію як це впливає на експорт та імпорт Таблиці краще конвертувати, бо MyISAM старе лайно |
||
|
4
: 14 Мая 2026, 11:03:04
|
||
| Автор sedo26 - Последний ответ от sedo26 | ||
|
При замінні заліза, експорт/імпорт БД виникають проблеми з несумісністю.
Зробив: my.cnf Код: [mysqld] sql_mode=NO_ENGINE_SUBSTITUTION MYSQL Код: SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY','')); Питання - чи потрібно для правильної таблиці конвертувати MyISAM таблиці в InnoDB (users_trf, config, datasetup, dictionary, nets, ses_traf, user_grp, websessions). Підкажіть які ще зміни треба зробити щоб біллінг запрацював коректно? Дякую. |
||
|
5
: 02 Января 2026, 11:16:45
|
||
| Автор Gosha - Последний ответ от Efendy | ||
|
Я ж в лічку дав контакти людини, яка допоможе. Ще в 2025 році
|
||
|
6
: 01 Января 2026, 12:40:23
|
||
| Автор Gosha - Последний ответ от Gosha | ||
|
Ще раз формулюю проблему. Частину абонентів перевели на Nodeny next. Тарифи з мінімальним трафіком в 500Mb.
Відрізняються налаштування від старого nodeny plus , тільки тим що в ядрі включено "Обнуляти лічильники трафіку у кожного абонента при настанні нового місяця". Рандомно не знімаються платежі у різних клієнтів. В mysql вибірка одного клієнта: Код: INSERT INTO `pays` (`id`, `mid`, `cash`, `time`, `creator`, `creator_id`, `creator_ip`, `reason`, `comment`, `category`) VALUES Можливо перехід на слідуючий місяць проходить паралельно з іншими процесами, і на якомусь етапі проходить збій обрахунку трафіка для послуги, і чомусь трафік робиться відємним.(84, 2, -135.15, 1746702033, 'admin', 5, 0, '$VAR1 = {\'start_traf\' => 0,\'traf\' => \'347038981438\',\'cash\' => \'-135.15\',\'last_day_k\' => \'0.755\',\'tm_end\' => 1748725200,\'tm_start\' => 1746702033};', '<p align=\"center\"><font color=\"#3366cc\"><b><font size=\"5\">ОПТИМАЛЬНИЙ</font></b></font><br>\r\n Підключення до мережі INTERNET на швидкості до 1000 mb/s<br>\r\n+ <font color=\"#3366cc\"><b><font size=\"2\">Утримання в мережі</font>- 20гр.</p>', 100), (380, 2, -179.00, 1748725205, 'kernel', 1, 0, '$VAR1 = {\'tm_end\' => 1751317200,\'last_day_k\' => \'1.000\',\'traf\' => \'114396196314\',\'cash\' => \'-179\',\'tm_start\' => 1748725205,\'start_traf\' => \'347038981438\'};', '<p align=\"center\"><font color=\"#3366cc\"><b><font size=\"5\">ОПТИМАЛЬНИЙ</font></b></font><br>\r\n Підключення до мережі INTERNET на швидкості до 1000 mb/s<br>\r\n+ <font color=\"#3366cc\"><b><font size=\"2\">Утримання в мережі</font>- 20гр.</p>', 100), (2077, 2, -179.00, 1751317202, 'kernel', 1, 0, '$VAR1 = {\'cash\' => \'-179\',\'start_traf\' => \'461435177752\',\'tm_start\' => 1751317202,\'tm_end\' => 1753995600,\'last_day_k\' => \'1.000\',\'traf\' => \'111457018223\'};', '<p align=\"center\"><font color=\"#3366cc\"><b><font size=\"5\">ОПТИМАЛЬНИЙ</font></b></font><br>\r\n Підключення до мережі INTERNET на швидкості до 1000 mb/s<br>\r\n+ <font color=\"#3366cc\"><b><font size=\"2\">Утримання в мережі</font>- 20гр.</p>', 100), (4239, 2, 0.00, 1753995604, 'kernel', 1, 0, '$VAR1 = {\'traf\' => \'-116032936751\',\'no_traf_no_cash\' => \'-116032936751\',\'tm_end\' => 1756674000,\'tm_start\' => 1753995604,\'cash\' => \'-179\',\'start_traf\' => \'572892195975\'};', '<p align=\"center\"><font color=\"#3366cc\"><b><font size=\"5\">ОПТИМАЛЬНИЙ</font></b></font><br>\r\n Підключення до мережі INTERNET на швидкості до 1000 mb/s<br>\r\n+ <font color=\"#3366cc\"><b><font size=\"2\">Утримання в мережі</font>- 20гр.</p>', 100), (5865, 2, 0.00, 1756674004, 'kernel', 1, 0, '$VAR1 = {\'tm_end\' => 1759266000,\'traf\' => \'-112511143630\',\'start_traf\' => \'456859259224\',\'cash\' => \'-199\',\'no_traf_no_cash\' => \'-112511143630\',\'tm_start\' => 1756674004};', '<p align=\"center\"><font color=\"#3366cc\"><b><font size=\"5\">ОПТИМАЛЬНИЙ</font></b></font><br>\r\n Підключення до мережі INTERNET на швидкості до 1000 mb/s<br>', 100), (7584, 2, -199.00, 1759266001, 'kernel', 1, 0, '$VAR1 = {\'cash\' => -199,\'start_traf\' => \'344348115594\',\'tm_end\' => 1761948000,\'tm_start\' => 1759266001,\'last_day_k\' => \'1.000\',\'traf\' => \'224621286265\'};', '<p align=\"center\"><font color=\"#3366cc\"><b><font size=\"5\">ОПТИМАЛЬНИЙ</font></b></font><br>\r\n Підключення до мережі INTERNET на швидкості до 1000 mb/s<br>', 100), (8709, 2, 0.00, 1761948001, 'kernel', 1, 0, '$VAR1 = {\'tm_end\' => 1764540000,\'traf\' => \'-212853029132\',\'cash\' => -199,\'start_traf\' => \'568969401859\',\'tm_start\' => 1761948001,\'no_traf_no_cash\' => \'-212853029132\'};', '<p align=\"center\"><font color=\"#3366cc\"><b><font size=\"5\">ОПТИМАЛЬНИЙ</font></b></font><br>\r\n Підключення до мережі INTERNET на швидкості до 1000 mb/s<br>', 100), (10775, 2, -199.00, 1764540003, 'kernel', 1, 0, '$VAR1 = {\'start_traf\' => \'356116372727\',\'tm_start\' => 1764540003,\'cash\' => -199,\'last_day_k\' => \'1.000\',\'traf\' => \'198575001463\',\'tm_end\' => 1767218400};', '<p align=\"center\"><font color=\"#3366cc\"><b><font size=\"5\">ОПТИМАЛЬНИЙ</font></b></font><br>\r\n Підключення до мережі INTERNET на швидкості до 1000 mb/s<br>', 100), (12287, 2, -199.00, 1767218404, 'kernel', 1, 0, '$VAR1 = {\'start_traf\' => \'554691374190\',\'last_day_k\' => \'1.000\',\'tm_start\' => 1767218404,\'cash\' => -199,\'tm_end\' => 1769896800};', '<p align=\"center\"><font color=\"#3366cc\"><b><font size=\"5\">ОПТИМАЛЬНИЙ</font></b></font><br>\r\n Підключення до мережі INTERNET на швидкості до 1000 mb/s<br>', 100); До нового року відмінив "Обнуляти лічильники трафіку у кожного абонента при настанні нового місяця", але точно так само пройшли 0 платежі. Хоть думаю що результат варто чекати на слідуючий місяць. Можливо хтось підкаже куди копати. |
||
|
7
: 01 Января 2026, 08:49:54
|
||
| Автор Gosha - Последний ответ от Gosha | ||
|
В послугах (Тарифах ) в полі "Байт. Якщо > 0 і по закінченню послуги трафік клієнта буде менше цього значення - зняття за послугу буде скасовано" повинно бути порожньо щоб не реагувало на трафік. А у Вас мабуть у якихось тарифах цей параметр заповнений. В тарифах стоїть 500000000 Байт , для всякого паразитарного трафіку. А не знімає у людей з набагато більшим трафіком. Точно такі налаштування на другому білінгу(nodeny plus) , і ніяких проблем немає. |
||
|
8
: 31 Декабря 2025, 22:09:36
|
||
| Автор Gosha - Последний ответ от veca16 | ||
|
В послугах (Тарифах ) в полі "Байт. Якщо > 0 і по закінченню послуги трафік клієнта буде менше цього значення - зняття за послугу буде скасовано" повинно бути порожньо щоб не реагувало на трафік. А у Вас мабуть у якихось тарифах цей параметр заповнений.
|
||
|
9
: 31 Декабря 2025, 21:30:16
|
||
| Автор Gosha - Последний ответ от Gosha | ||
|
Доброго вечора. Якщо назва таблиць з маленької букви перевірте чи в my.cnf не стоїть параметр lower_case_table_names=1. Бо цей параметр в незалежності як вводиш великими чи маленькими літерами назву таблиці робить її маленькими. Дякую. Так , стоїть. Буду знати. Але я поміняв в system_clean.pm , так що це вже не проблема. |
||
|
10
: 31 Декабря 2025, 21:01:32
|
||
| Автор Gosha - Последний ответ от veca16 | ||
|
Доброго вечора. Якщо назва таблиць з маленької букви перевірте чи в my.cnf не стоїть параметр lower_case_table_names=1. Бо цей параметр в незалежності як вводиш великими чи маленькими літерами назву таблиці робить її маленькими.
|
||