Просмотр сообщений
|
Страниц: [1] 2 3 ... 39
|
3
|
Главная категория / Nodeny Plus / Re: Обновление с PLUS на NEXT
|
: 17 Ноября 2021, 16:49:27
|
продолжаем ловить баги после обновления теперь проблема возникла с поиском, при нажатии сортировки на названии поля выбывает ошибку дебаг FUNCTION nodeny.REGEXP_REPLACE does not exist
{ 'sql' => 'SELECT SQL_CALC_FOUND_ROWS u.* FROM fullusers u LEFT JOIN data0 d ON u.id=d.uid WHERE u.grp in (5,7,6,23,24,25,27,20,10,1,16,21,22,12,19,9,14,18,28,13,15,8, 26) AND d._adr_street=\'10\' AND d._adr_house=\'15\' ORDER BY u.grp, CAST(CONCAT(\'0\', REGEXP_REPLACE(d._adr_room, \'[^0-9]\', \'\')) AS SIGNED) DESC LIMIT 0, 20', 'param' => [] }; SELECT SQL_CALC_FOUND_ROWS u.* FROM fullusers u LEFT JOIN data0 d ON u.id=d.uid WHERE u.grp in (5,7,6,23,24,25,27,20,10,1,16,21,22,12,19,9,14,18,28,13,15,8, Подскажите решение если у кого есть.
|
|
|
4
|
Главная категория / Nodeny Plus / Re: Deadlock
|
: 15 Ноября 2021, 11:28:59
|
Если кому мешает это: WARNING: (123484726) sql: WARNING: Cannot do check groups when group_membership_query is not set то нужно в файл /usr/local/etc/raddb/mods-enabled/sql в блок sql добавить read_groups = no ---------------------------- Возможно у кого есть еще идеи по какой причине новая функция get_ip которая без deadlock закрепляет за клиентом сразу несколько IP и как это можно побороть.
|
|
|
5
|
Главная категория / Модули NodenyPlus / Re: Модуль Тикет
|
: 03 Ноября 2021, 16:51:12
|
Подскажите, кто пользуется модулем можно ли на главной где все тикеты чтоб было видно всю необходимую информацию по клиенту. К примеру как в userside И мобильной версии нет ?
Кому несложно расскажите как вы используете модуль, на сколько он удобен.
|
|
|
6
|
Главная категория / Nodeny Plus / Re: Deadlock
|
: 03 Ноября 2021, 14:01:35
|
Вернул старую функцию, опять есть deadlock, но зато дублей IP нет. Правда в старой функции заменил 300 на 3600, чтоб IP абонов не часто менялись. DROP FUNCTION IF EXISTS `get_ip`; DELIMITER $$ CREATE FUNCTION `get_ip` ( user_id INTEGER UNSIGNED ) RETURNS VARCHAR(15) NO SQL BEGIN DECLARE user_ip VARCHAR(15); DECLARE real_ip VARCHAR(15); DECLARE row_cnt INTEGER;
SELECT INET_NTOA(ip) INTO user_ip FROM ip_pool WHERE uid = user_id AND type='static' LIMIT 1; IF( user_ip IS NOT NULL ) THEN RETURN user_ip; END IF;
UPDATE ip_pool SET uid = user_id, `release` = UNIX_TIMESTAMP() + 3600 WHERE uid = user_id AND type = 'dynamic' AND realip = IF(real_ip>0,1,0) LIMIT 1;
SELECT ROW_COUNT() INTO row_cnt; IF( row_cnt < 1 ) THEN UPDATE ip_pool SET uid = user_id, `release` = UNIX_TIMESTAMP() + 3600 WHERE uid = 0 AND type = 'dynamic' AND realip = IF(real_ip>0,1,0) LIMIT 1; END IF;
SELECT INET_NTOA(ip) INTO user_ip FROM ip_pool WHERE uid = user_id LIMIT 1; RETURN user_ip;
END$$ DELIMITER ;
В предыдущем случае самое плохое, что было, это в карточке клиента светилось 3 авторизации, и правильная авторизация была от нужного NAS, но IP был не верный. Т.е на NAS один IP в биллинге с зеленым ключиком другой. А тот что на NAS через час выдавался другому клиенту и дубли копились как снежный комп. Пробовал функции которые тут http://forum.nodeny.com.ua/index.php?topic=3034.msg32300#msg32300результат аналогичный. Может быть авторизация где все хорошо, т.е выдается одному клиенту 1 IP Может где одному клиенту 2 ip, но второй не правильный без ключа и он освободится через 1 час. Но самое плохое когда выдаёт 3 IP и остается с ключём неправильный IP
|
|
|
7
|
Главная категория / Nodeny Plus / Re: Deadlock
|
: 03 Ноября 2021, 11:40:59
|
У нас qinq и 4 наса обслуживают все vlanы. Т.е абон подключается одновременно ко всем насам. Но тут вышла ситуация когда подключение было в одному насу, но нас взял IP х.х.198.32, а вот биллинг запомнил другой. Сейчас из-за этого количество дублей начало только стремительно увеличиваться. НАС stat.3002.1300 | stat.3002.1300 | bc:ae:c5:5e:01:e6 |х.х.198.32 | 22024/22024 | ipoe | | active | 01:11:37
|
|
|
8
|
Главная категория / Nodeny Plus / Re: Deadlock
|
: 03 Ноября 2021, 11:15:15
|
Сменил функцию get_ip и добавил set_auth Дедлоки ушли, но сейчас в логе увидел Wed Nov 3 10:36:07 2021 : ERROR: (48018356) sql: ERROR: rlm_sql_mysql: ERROR 1321 (FUNCTION get_ip ended without RETURN): 2F005 Также в логе есть записи, но если я понял они есть у всех с "коробки": Wed Nov 3 10:36:49 2021 : ERROR: (48021589) sql: ERROR: rlm_sql_mysql: ERROR 1048 (Column 'uid' cannot be null): 23000 Wed Nov 3 10:37:13 2021 : WARNING: (48023432) sql: WARNING: Cannot do check groups when group_membership_query is not set И заметил странную ситуацию, что за одним клиентом теперь может числиться более одного IP. Скрин приложил. Это возможно было и ранее, но так как они уходили через 2 минуты было незаметно.
|
|
|
10
|
Главная категория / Nodeny Plus / Re: Deadlock
|
: 02 Ноября 2021, 11:22:13
|
Сравнил normalize_ippool он как нужно, но вот get_ip отличается сильно. Такой у меня (он остался с +) | get_ip | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION | CREATE DEFINER=`root`@`localhost` FUNCTION `get_ip`( user_id INTEGER UNSIGNED ) RETURNS varchar(15) CHARSET utf8 NO SQL BEGIN DECLARE user_ip VARCHAR(15); DECLARE real_ip VARCHAR(15); DECLARE row_cnt INTEGER;
SELECT INET_NTOA(ip) INTO user_ip FROM ip_pool WHERE uid = user_id AND type='static' LIMIT 1; IF( user_ip IS NOT NULL ) THEN RETURN user_ip; END IF;
UPDATE ip_pool SET uid = user_id, `release` = UNIX_TIMESTAMP() + 300 WHERE uid = user_id AND type = 'dynamic' AND realip = IF(real_ip>0,1,0) LIMIT 1;
SELECT ROW_COUNT() INTO row_cnt; IF( row_cnt < 1 ) THEN UPDATE ip_pool SET uid = user_id, `release` = UNIX_TIMESTAMP() + 300 WHERE uid = 0 AND type = 'dynamic' AND realip = IF(real_ip>0,1,0) LIMIT 1; END IF;
SELECT INET_NTOA(ip) INTO user_ip FROM ip_pool WHERE uid = user_id LIMIT 1; RETURN user_ip; END | utf8 | utf8_general_ci | utf8_general_ci | Вот новый для NEXT DROP FUNCTION IF EXISTS `get_ip`; DELIMITER $$ CREATE FUNCTION `get_ip` ( user_id INTEGER UNSIGNED ) RETURNS VARCHAR(15) NO SQL BEGIN DECLARE user_ip VARCHAR(15); DECLARE real_ip VARCHAR(15) DEFAULT 0; DECLARE row_cnt INTEGER; DECLARE ip_id INTEGER; DECLARE tries INTEGER DEFAULT 30; DECLARE id_min INTEGER; DECLARE id_max INTEGER;
SELECT INET_NTOA(ip) INTO user_ip FROM ip_pool WHERE uid = user_id AND type='static' LIMIT 1; IF( user_ip IS NOT NULL ) THEN RETURN user_ip; END IF;
SELECT 1 INTO real_ip FROM users_services WHERE uid = user_id AND tags LIKE '%,realip,%';
SELECT id, INET_NTOA(ip) INTO ip_id, user_ip FROM ip_pool WHERE uid = user_id AND type = 'dynamic' AND realip = IF(real_ip>0,1,0) LIMIT 1;
IF( ip_id IS NOT NULL) THEN UPDATE ip_pool SET `release` = UNIX_TIMESTAMP() + 3600 WHERE id = ip_id AND uid = user_id; SELECT ROW_COUNT() INTO row_cnt; IF( row_cnt > 0 ) THEN RETURN user_ip; END IF; UPDATE ip_pool SET `release` = UNIX_TIMESTAMP() + 3600 WHERE uid = user_id AND type = 'dynamic' AND realip = IF(real_ip>0,1,0); SELECT ROW_COUNT() INTO row_cnt; IF( row_cnt > 0 ) THEN RETURN user_ip; END IF; END IF;
SELECT MAX(id), MIN(id) INTO id_max, id_min FROM ip_pool WHERE type = 'dynamic' AND realip = IF(real_ip>0,1,0);
sel_ip: WHILE tries > 0 DO SELECT id, INET_NTOA(ip) INTO ip_id, user_ip FROM ip_pool WHERE uid = 0 AND id >= (CEIL(RAND() * (id_max - id_min)) + id_min) AND id <= id_max AND `release` < UNIX_TIMESTAMP() LIMIT 1; IF( user_ip IS NOT NULL) THEN UPDATE ip_pool SET uid = user_id, `release` = UNIX_TIMESTAMP() + 3600 WHERE id = ip_id AND uid = 0 AND `release` < UNIX_TIMESTAMP(); SELECT ROW_COUNT() INTO row_cnt; IF( row_cnt > 0 ) THEN RETURN user_ip; END IF; SET tries = tries - 5; END IF; SET tries = tries - 1; END WHILE; Хотел уточнить, после замены функции, все должно работать ? или может что-то нужно еще править. И я вроде как не первый кто обновился, странно, что никто об этом ранее не написал.
|
|
|
11
|
Главная категория / Nodeny Plus / Deadlock
|
: 01 Ноября 2021, 12:23:34
|
Обновили + на NEXT и перенесли работать под VM на базе proxmox. Решил посмотреть в лог радиуса и там заметил записи: Deadlock found when trying to get lock; try restarting transaction
Авторизации проходят, глюков не заметили. Подскажите, в чем может быть причина Deadlock и стоит ли волноваться ? | InnoDB | | ===================================== 2021-11-01 11:51:23 0x93f340700 INNODB MONITOR OUTPUT ===================================== Per second averages calculated from the last 40 seconds ----------------- BACKGROUND THREAD ----------------- srv_master_thread loops: 92389 srv_active, 0 srv_shutdown, 54 srv_idle srv_master_thread log flush and writes: 92443 ---------- SEMAPHORES ---------- OS WAIT ARRAY INFO: reservation count 5541118 OS WAIT ARRAY INFO: signal count 5730755 RW-shared spins 0, rounds 2708391, OS waits 789633 RW-excl spins 0, rounds 124594692, OS waits 834675 RW-sx spins 3665545, rounds 98289045, OS waits 1616329 Spin rounds per wait: 2708391.00 RW-shared, 124594692.00 RW-excl, 26.81 RW-sx ------------------------ LATEST DETECTED DEADLOCK ------------------------ 2021-11-01 11:50:45 0x93e386600 *** (1) TRANSACTION: TRANSACTION 659162265, ACTIVE 0 sec starting index read mysql tables in use 1, locked 1 LOCK WAIT 3 lock struct(s), heap size 1136, 2 row lock(s) MySQL thread id 48084, OS thread handle 39715082496, query id 181416906 localhost nodeny Searching rows for update UPDATE ip_pool SET uid = user_id, `release` = UNIX_TIMESTAMP() + 300 WHERE uid = 0 AND type = 'dynamic' AND realip = IF(real_ip>0,1,0) LIMIT 1 *** (1) WAITING FOR THIS LOCK TO BE GRANTED: RECORD LOCKS space id 1073 page no 507 n bits 1000 index uid of table `nodeny`.`ip_pool` trx id 659162265 lock_mode X waiting Record lock, heap no 449 PHYSICAL RECORD: n_fields 2; compact format; info bits 0 0: len 8; hex 0000000000000000; asc ;; 1: len 4; hex 00000004; asc ;;
*** (2) TRANSACTION: TRANSACTION 659162263, ACTIVE 0 sec updating or deleting mysql tables in use 1, locked 1 7 lock struct(s), heap size 1136, 386 row lock(s), undo log entries 1 MySQL thread id 47609, OS thread handle 39698589184, query id 181416897 localhost nodeny updating UPDATE ip_pool SET uid = user_id, `release` = UNIX_TIMESTAMP() + 300 WHERE uid = 0 AND type = 'dynamic' AND realip = IF(real_ip>0,1,0) LIMIT 1 *** (2) HOLDS THE LOCK(S): RECORD LOCKS space id 1073 page no 507 n bits 1000 index uid of table `nodeny`.`ip_pool` trx id 659162263 lock_mode X Record lock, heap no 449 PHYSICAL RECORD: n_fields 2; compact format; info bits 0 0: len 8; hex 0000000000000000; asc ;; 1: len 4; hex 00000004; asc ;;
Record lock, heap no 451 PHYSICAL RECORD: n_fields 2; compact format; info bits 0 0: len 8; hex 0000000000000000; asc ;; 1: len 4; hex 00000009; asc ;;
и так далее до
Record lock, heap no 721 PHYSICAL RECORD: n_fields 2; compact format; info bits 0 0: len 8; hex 0000000000000000; asc ;; 1: len 4; hex 000001e1; asc ;;
Record lock, heap no 769 PHYSICAL RECORD: n_fields 2; compact format; info bits 32 0: len 8; hex 0000000000000000; asc ;; 1: len 4; hex 00001ff1; asc ;;
*** (2) WAITING FOR THIS LOCK TO BE GRANTED: RECORD LOCKS space id 1073 page no 730 n bits 1000 index uid of table `nodeny`.`ip_pool` trx id 659162263 lock_mode X locks gap before rec insert intention waiting Record lock, heap no 722 PHYSICAL RECORD: n_fields 2; compact format; info bits 0 0: len 8; hex 00000000000027d8; asc ' ;; 1: len 4; hex 00001631; asc 1;;
*** WE ROLL BACK TRANSACTION (1) ------------ TRANSACTIONS ------------ Trx id counter 659189013 Purge done for trx's n:o < 659187785 undo n:o < 0 state: running but idle History list length 530 LIST OF TRANSACTIONS FOR EACH SESSION: ---TRANSACTION 281509884874504, not started 0 lock struct(s), heap size 1136, 0 row lock(s) ---TRANSACTION 281509884878120, not started 0 lock struct(s), heap size 1136, 0 row lock(s) ---TRANSACTION 281509884882640, not started 0 lock struct(s), heap size 1136, 0 row lock(s) ---TRANSACTION 281509884880832, not started 0 lock struct(s), heap size 1136, 0 row lock(s) ---TRANSACTION 281509884876312, not started 0 lock struct(s), heap size 1136, 0 row lock(s) ---TRANSACTION 281509884873600, not started 0 lock struct(s), heap size 1136, 0 row lock(s) ---TRANSACTION 281509884879024, not started 0 lock struct(s), heap size 1136, 0 row lock(s) ---TRANSACTION 281509884884448, not started 0 lock struct(s), heap size 1136, 0 row lock(s) ---TRANSACTION 281509884872696, not started 0 lock struct(s), heap size 1136, 0 row lock(s) ---TRANSACTION 281509884877216, not started 0 lock struct(s), heap size 1136, 0 row lock(s) ---TRANSACTION 281509884879928, not started 0 lock struct(s), heap size 1136, 0 row lock(s) ---TRANSACTION 281509884875408, not started 0 lock struct(s), heap size 1136, 0 row lock(s) ---TRANSACTION 281509884871792, not started 0 lock struct(s), heap size 1136, 0 row lock(s) -------- FILE I/O -------- I/O thread 0 state: waiting for i/o request (insert buffer thread) I/O thread 1 state: waiting for i/o request (log thread) I/O thread 2 state: waiting for i/o request (read thread) I/O thread 3 state: waiting for i/o request (read thread) I/O thread 4 state: waiting for i/o request (read thread) I/O thread 5 state: waiting for i/o request (read thread) I/O thread 6 state: waiting for i/o request (read thread) I/O thread 7 state: waiting for i/o request (read thread) I/O thread 8 state: waiting for i/o request (read thread) I/O thread 9 state: waiting for i/o request (read thread) I/O thread 10 state: waiting for i/o request (write thread) I/O thread 11 state: waiting for i/o request (write thread) I/O thread 12 state: waiting for i/o request (write thread) I/O thread 13 state: waiting for i/o request (write thread) I/O thread 14 state: waiting for i/o request (write thread) I/O thread 15 state: waiting for i/o request (write thread) I/O thread 16 state: waiting for i/o request (write thread) I/O thread 17 state: waiting for i/o request (write thread) Pending normal aio reads: [0, 0, 0, 0, 0, 0, 0, 0] , aio writes: [0, 0, 0, 0, 0, 0, 0, 0] , ibuf aio reads:, log i/o's:, sync i/o's: Pending flushes (fsync) log: 0; buffer pool: 0 70121 OS file reads, 14797413 OS file writes, 14684844 OS fsyncs 0.00 reads/s, 0 avg bytes/read, 173.82 writes/s, 173.82 fsyncs/s ------------------------------------- INSERT BUFFER AND ADAPTIVE HASH INDEX ------------------------------------- Ibuf: size 1, free list len 72, seg size 74, 3986 merges merged operations: insert 7439, delete mark 898, delete 214 discarded operations: insert 0, delete mark 0, delete 0 Hash table size 1106311, node heap has 54 buffer(s) Hash table size 1106311, node heap has 75 buffer(s) Hash table size 1106311, node heap has 43 buffer(s) Hash table size 1106311, node heap has 24 buffer(s) Hash table size 1106311, node heap has 4460 buffer(s) Hash table size 1106311, node heap has 30 buffer(s) Hash table size 1106311, node heap has 2673 buffer(s) Hash table size 1106311, node heap has 44 buffer(s) 11306.34 hash searches/s, 2921.50 non-hash searches/s --- LOG --- Log sequence number 156519175267 Log flushed up to 156519175132 Pages flushed up to 156363911047 Last checkpoint at 156363911047 0 pending log flushes, 0 pending chkp writes 14657859 log i/o's done, 173.82 log i/o's/second ---------------------- BUFFER POOL AND MEMORY ---------------------- Total large memory allocated 4397727744 Dictionary memory allocated 606886 Buffer pool size 262122 Free buffers 182455 Database pages 72264 Old database pages 26667 Modified db pages 1157 Pending reads 0 Pending writes: LRU 0, flush list 0, single page 0 Pages made young 176, not young 0 0.00 youngs/s, 0.00 non-youngs/s Pages read 70039, created 2225, written 130776 0.00 reads/s, 0.00 creates/s, 0.00 writes/s Buffer pool hit rate 1000 / 1000, young-making rate 0 / 1000 not 0 / 1000 Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s LRU len: 72264, unzip_LRU len: 0 I/O sum[0]:cur[0], unzip sum[0]:cur[0] ---------------------- INDIVIDUAL BUFFER POOL INFO ---------------------- ---BUFFER POOL 0 Buffer pool size 32767 Free buffers 22951 Database pages 8905 Old database pages 3288 Modified db pages 146 Pending reads 0 Pending writes: LRU 0, flush list 0, single page 0 Pages made young 28, not young 0 0.00 youngs/s, 0.00 non-youngs/s Pages read 8630, created 275, written 14459 0.00 reads/s, 0.00 creates/s, 0.00 writes/s Buffer pool hit rate 1000 / 1000, young-making rate 0 / 1000 not 0 / 1000 Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s LRU len: 8905, unzip_LRU len: 0 I/O sum[0]:cur[0], unzip sum[0]:cur[0] ---BUFFER POOL 1 Buffer pool size 32768 Free buffers 22888 Database pages 8939 Old database pages 3300 Modified db pages 75 Pending reads 0 Pending writes: LRU 0, flush list 0, single page 0 Pages made young 25, not young 0 0.00 youngs/s, 0.00 non-youngs/s Pages read 8633, created 306, written 13778 0.00 reads/s, 0.00 creates/s, 0.00 writes/s Buffer pool hit rate 1000 / 1000, young-making rate 0 / 1000 not 0 / 1000 Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s LRU len: 8939, unzip_LRU len: 0 I/O sum[0]:cur[0], unzip sum[0]:cur[0] ---BUFFER POOL 2 Buffer pool size 32764 Free buffers 22798 Database pages 9026 Old database pages 3313 Modified db pages 76 Pending reads 0 Pending writes: LRU 0, flush list 0, single page 0 Pages made young 34, not young 0 0.00 youngs/s, 0.00 non-youngs/s Pages read 8759, created 267, written 14527 0.00 reads/s, 0.00 creates/s, 0.00 writes/s Buffer pool hit rate 1000 / 1000, young-making rate 0 / 1000 not 0 / 1000 Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s LRU len: 9026, unzip_LRU len: 0 I/O sum[0]:cur[0], unzip sum[0]:cur[0] ---BUFFER POOL 3 Buffer pool size 32764 Free buffers 22686 Database pages 9167 Old database pages 3365 Modified db pages 204 Pending reads 0 Pending writes: LRU 0, flush list 0, single page 0 Pages made young 34, not young 0 0.00 youngs/s, 0.00 non-youngs/s Pages read 8897, created 270, written 22655 0.00 reads/s, 0.00 creates/s, 0.00 writes/s Buffer pool hit rate 1000 / 1000, young-making rate 0 / 1000 not 0 / 1000 Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s LRU len: 9167, unzip_LRU len: 0 I/O sum[0]:cur[0], unzip sum[0]:cur[0] ---BUFFER POOL 4 Buffer pool size 32766 Free buffers 22646 Database pages 9187 Old database pages 3380 Modified db pages 103 Pending reads 0 Pending writes: LRU 0, flush list 0, single page 0 Pages made young 21, not young 0 0.00 youngs/s, 0.00 non-youngs/s Pages read 9042, created 145, written 14075 0.00 reads/s, 0.00 creates/s, 0.00 writes/s Buffer pool hit rate 1000 / 1000, young-making rate 0 / 1000 not 0 / 1000 Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s LRU len: 9187, unzip_LRU len: 0 I/O sum[0]:cur[0], unzip sum[0]:cur[0] ---BUFFER POOL 5 Buffer pool size 32764 Free buffers 22669 Database pages 9165 Old database pages 3384 Modified db pages 116 Pending reads 0 Pending writes: LRU 0, flush list 0, single page 0 Pages made young 4, not young 0 0.00 youngs/s, 0.00 non-youngs/s Pages read 8838, created 327, written 14432 0.00 reads/s, 0.00 creates/s, 0.00 writes/s Buffer pool hit rate 1000 / 1000, young-making rate 0 / 1000 not 0 / 1000 Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s LRU len: 9165, unzip_LRU len: 0 I/O sum[0]:cur[0], unzip sum[0]:cur[0] ---BUFFER POOL 6 Buffer pool size 32764 Free buffers 23144 Database pages 8682 Old database pages 3224 Modified db pages 193 Pending reads 0 Pending writes: LRU 0, flush list 0, single page 0 Pages made young 11, not young 0 0.00 youngs/s, 0.00 non-youngs/s Pages read 8427, created 255, written 16232 0.00 reads/s, 0.00 creates/s, 0.00 writes/s Buffer pool hit rate 1000 / 1000, young-making rate 0 / 1000 not 0 / 1000 Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s LRU len: 8682, unzip_LRU len: 0 I/O sum[0]:cur[0], unzip sum[0]:cur[0] ---BUFFER POOL 7 Buffer pool size 32765 Free buffers 22673 Database pages 9193 Old database pages 3413 Modified db pages 244 Pending reads 0 Pending writes: LRU 0, flush list 0, single page 0 Pages made young 19, not young 0 0.00 youngs/s, 0.00 non-youngs/s Pages read 8813, created 380, written 20618 0.00 reads/s, 0.00 creates/s, 0.00 writes/s Buffer pool hit rate 1000 / 1000, young-making rate 0 / 1000 not 0 / 1000 Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s LRU len: 9193, unzip_LRU len: 0 I/O sum[0]:cur[0], unzip sum[0]:cur[0] -------------- ROW OPERATIONS -------------- 0 queries inside InnoDB, 0 queries in queue 0 read views open inside InnoDB Process ID=15923, Main thread ID=39828897792, state: sleeping Number of rows inserted 110076506, updated 14465305, deleted 203636, read 3171617681 1298.44 inserts/s, 175.72 updates/s, 0.02 deletes/s, 23364.79 reads/s ---------------------------- END OF INNODB MONITOR OUTPUT ============================ |
Все правки в базе которые делали для переноса описаны тут: http://forum.nodeny.com.ua/index.php?topic=3302.msg37084#msg37084
|
|
|
12
|
Главная категория / Nodeny Plus / Re: NoDeny NEXT + Freeradius3 + accel-ppp + QinQ (DHCP)
|
: 01 Ноября 2021, 12:17:37
|
Опишу тут что мне потребовалось изменить для корректного перехода с + на NEXT Спасибо парням за помощь из группы https://t.me/nodeny_chatНа сервере с чистым NEXT DROP DATABASE nodeny; create database nodeny; use nodeny; source /usr/local/nodeny/bill.sql; source /home/nodeny.sql;
--------------------------------- Пришлось поправить некоторые поля, иначе были ошибки по созданию пользователей, или изменения других полей ALTER TABLE `admin` CHANGE COLUMN `name` `name` VARCHAR(255) NOT NULL DEFAULT '' COLLATE 'utf8_general_ci' AFTER `passwd`; ALTER TABLE `admin` CHANGE COLUMN `post` `post` VARCHAR(255) NOT NULL DEFAULT '' COLLATE 'utf8_general_ci' AFTER `passwd`; ALTER TABLE `admin` CHANGE COLUMN `privil` `privil` VARCHAR(255) NOT NULL DEFAULT '' COLLATE 'utf8_general_ci' AFTER `passwd`; ALTER TABLE `admin` CHANGE COLUMN `usr_grps` `usr_grps` VARCHAR(255) NOT NULL DEFAULT '' COLLATE 'utf8_general_ci' AFTER `passwd`; ALTER TABLE `admin` CHANGE COLUMN `tunes` `tunes` VARCHAR(255) NOT NULL DEFAULT '' COLLATE 'utf8_general_ci' AFTER `passwd`; ALTER TABLE `admin` CHANGE COLUMN `ext` `ext` VARCHAR(255) NOT NULL DEFAULT '' COLLATE 'utf8_general_ci' AFTER `passwd`; ALTER TABLE `admin` CHANGE COLUMN `balance` `balance` VARCHAR(255) NOT NULL DEFAULT '' COLLATE 'utf8_general_ci' AFTER `passwd`; ALTER DATABASE nodeny CHARACTER SET utf8 COLLATE utf8_general_ci; ALTER TABLE services ADD `plain_description` varchar(512) NOT NULL DEFAULT ''; ALTER TABLE admin MODIFY COLUMN passwd varbinary(64) NOT NULL; ALTER TABLE users MODIFY COLUMN comment varchar(8192) NOT NULL DEFAULT ''; ALTER TABLE `users_trf` ENGINE=InnoDB; ALTER TABLE `data1` ENGINE=InnoDB; ALTER TABLE `websessions` ENGINE=InnoDB; ALTER TABLE `config` ENGINE=InnoDB; ALTER TABLE `datasetup` ENGINE=InnoDB; ALTER TABLE `dictionary` ENGINE=InnoDB; ALTER TABLE `nets` ENGINE=InnoDB; ALTER TABLE `ses_traf` ENGINE=InnoDB; ALTER TABLE `user_grp` ENGINE=InnoDB; MySQL процедуры для авторизации абонента по логину DROP PROCEDURE IF EXISTS `radcheck`; DELIMITER $$ CREATE PROCEDURE `radcheck` (IN login VARCHAR(64)) BEGIN SELECT Null, login, 'Cleartext-Password' AS Attribute, '' AS Value,':='; END$$ DELIMITER ;
DROP PROCEDURE IF EXISTS `radreply`; DELIMITER $$ CREATE PROCEDURE `radreply`(IN login VARCHAR(64)) BEGIN DECLARE usr_id INT; DECLARE usr_ip VARCHAR(15) DEFAULT NULL;
SELECT uid INTO usr_id FROM data0 WHERE _name_radius=login LIMIT 1; SELECT get_ip(usr_id) INTO usr_ip;
SELECT NULL,login,'Framed-IP-Address',usr_ip,'='; SELECT NULL,login,'Framed-IP-Netmask','255.255.255.255','='; SELECT NULL,login,'Framed-Protocol','PPP','='; SELECT NULL,login,'Acct-Interim-Interval','120','=';
END$$ DELIMITER ;
DROP PROCEDURE IF EXISTS `radupdate`; DELIMITER $$ CREATE PROCEDURE `radupdate`(IN login VARCHAR(64), IN ip VARCHAR(16), IN properties VARCHAR(255)) BEGIN DECLARE usr_id INT; DECLARE usr_ip VARCHAR(15) DEFAULT NULL; SELECT uid INTO usr_id FROM data0 WHERE _name_radius=login LIMIT 1; SELECT get_ip(usr_id) INTO usr_ip; CALL set_auth(usr_ip, CONCAT('mod=pppoe;',REPLACE(properties,':',''))); UPDATE data0 SET _name_radius=login WHERE _name_radius=login LIMIT 1; END$$ DELIMITER ;
DROP PROCEDURE IF EXISTS `radstop`; DELIMITER $$ CREATE PROCEDURE `radstop`(IN login VARCHAR(64)) BEGIN DECLARE usr_id INT; SELECT uid INTO usr_id FROM data0 WHERE _name_radius=login LIMIT 1; DELETE FROM auth_now WHERE ip = get_ip(usr_id) LIMIT 1; END$$ DELIMITER ;
DROP FUNCTION IF EXISTS `normalize_ippool`; DELIMITER $$ CREATE FUNCTION `normalize_ippool` ( ) RETURNS TINYINT NO SQL BEGIN DECLARE mid INTEGER UNSIGNED;
SELECT MAX(id) into mid FROM ip_pool; UPDATE ip_pool SET id = id + mid; SET @i = 0; UPDATE ip_pool SET id = @i:=@i+1 ORDER BY realip, type, tags;
RETURN 1; END$$ DELIMITER ; ----------------- Для работы работы модуля карт: ALTER TABLE places CHANGE `img` `img` VARCHAR(5) NOT NULL DEFAULT ''; ALTER TABLE places CHANGE `descr` `descr` VARCHAR(4096) NOT NULL DEFAULT ''; ALTER TABLE places CHANGE `location` `location` VARCHAR(4096) NOT NULL DEFAULT ''; ALTER TABLE places CHANGE `gpsX` `gpsX` FLOAT NOT NULL DEFAULT 0; ALTER TABLE places CHANGE `gpsY` `gpsY` FLOAT NOT NULL DEFAULT 0; И главное не забыть в NEXT зайти: ядро - услуги - Запускать модуль при запуске ядра NoDeny. Если его не включить то тариф завершаться не будет. Также если у кого ЛК с изменениями и на NEXT при авторизации не будет редиректа то заходим в биллинг так: http://192.168.1.1/cgi-bin/stat.pl?_uu=admin&_pp=passДалее в документах убераем теги с раздела авторизации и меняем код ЛК под NEXT
|
|
|
15
|
Главная категория / Модули NodenyPlus / Re: Модуль Тикет
|
: 23 Октября 2021, 13:44:52
|
quote author=Stronglan link=topic=2804.msg36070#msg36070 date=1590594493] Возможно ли организовать функционал такой что если к тикету прикрепляется монтажник, чтобы ему в личку telegram приходило оповещение о тикете и содержании тикета? [/quote]
Подскажите это уже реализовано? Планируем купить, но я пока не нашел описания как монтажник узнает что у него новый тикет.
|
|
|
|