Биллинговая система Nodeny

Главная категория => Nodeny Plus => Тема начата: Redmen от 28 Февраля 2021, 01:55:15



Название: Опрос по СУБД
Отправлено: Redmen от 28 Февраля 2021, 01:55:15
(https://labs.mysql.com/common/logos/mysql-logo.svg?v2)|(https://www.percona.com/sites/all/themes/Porto_sub/img/doc-product-logos/server-big.png)|(https://downloads.mariadb.org/devmedia/images/v2/MariaDB-Foundation-500x500.png)
Интересно, сколько админов придерживаются правила "работает - не трогай" и сколько гонятся за обновлениями для защиты от эксплойтов.

Опрос бессрочный с возможностью менять голос, на случай изменения версии, для более актуальной статистики.


Название: Re: Опрос по СУБД
Отправлено: tom от 02 Марта 2021, 01:27:50
Percona


Название: Re: Опрос по СУБД
Отправлено: Efendy от 02 Марта 2021, 12:16:08
Парни. Если есть возможность, выполните на своих базах sql:
Код:
SELECT
    SQL_CALC_FOUND_ROWS COUNT(*) AS __count,
    DATE_FORMAT(DATE(a.last_auth), "%d.%m.%Y") AS __as_last_auth
FROM fullusers u
LEFT JOIN (
    SELECT FROM_UNIXTIME(MAX(time)) AS last_auth, uid FROM (
        (SELECT uid, `end` AS time FROM auth_log)
            UNION ALL
        (SELECT uid, `last` AS time FROM ip_pool vl1
         LEFT JOIN auth_now vl2 ON INET_NTOA(vl1.ip) = vl2.ip)
    ) v_last_auth
    WHERE time IS NOT NULL GROUP BY uid
) a
ON u.id=a.uid
WHERE u.grp > 0 GROUP BY __as_last_auth
ORDER BY __count DESC, __as_last_auth;
результат мне не нужен, нужно только знать дает ли ошибку или нет и какая версия субд.
Спасибо


Название: Re: Опрос по СУБД
Отправлено: Warlock от 02 Марта 2021, 14:35:13
mysql 5.5.44 и 5.6.39 выполнилось без ошибки


Название: Re: Опрос по СУБД
Отправлено: Redmen от 02 Марта 2021, 15:07:13
mysql 5.7.31  без ошибки


Название: Re: Опрос по СУБД
Отправлено: Gosha от 02 Марта 2021, 15:25:29
mysql 5.6.40
Без ошибки


Название: Re: Опрос по СУБД
Отправлено: Pa4ka от 02 Марта 2021, 21:06:58
Парни. Если есть возможность, выполните на своих базах sql:
Код:
SELECT
    SQL_CALC_FOUND_ROWS COUNT(*) AS __count,
    DATE_FORMAT(DATE(a.last_auth), "%d.%m.%Y") AS __as_last_auth
FROM fullusers u
LEFT JOIN (
    SELECT FROM_UNIXTIME(MAX(time)) AS last_auth, uid FROM (
        (SELECT uid, `end` AS time FROM auth_log)
            UNION ALL
        (SELECT uid, `last` AS time FROM ip_pool vl1
         LEFT JOIN auth_now vl2 ON INET_NTOA(vl1.ip) = vl2.ip)
    ) v_last_auth
    WHERE time IS NOT NULL GROUP BY uid
) a
ON u.id=a.uid
WHERE u.grp > 0 GROUP BY __as_last_auth
ORDER BY __count DESC, __as_last_auth;
результат мне не нужен, нужно только знать дает ли ошибку или нет и какая версия субд.
Спасибо
mysql  Ver 15.1 Distrib 10.3.27-MariaDB
без помилок


Название: Re: Опрос по СУБД
Отправлено: Efendy от 03 Марта 2021, 00:23:18
Всем большое спасибо!


Название: Re: Опрос по СУБД
Отправлено: Redmen от 03 Марта 2021, 12:15:46
Обидно, больше сотни просмотров, а проголосовали только 8 человек.
Это же не может развить тему в сторону лучшей производительности, стабильности и функционала

Например, кто смог поднять GALERA CLASTER для билинга? если кто не в курсе, это мощный инструмент репликации БД мульти мастер с легкой горизонтальной расширяемостью.


Название: Re: Опрос по СУБД
Отправлено: Jovani от 05 Марта 2021, 08:28:41
Парни. Если есть возможность, выполните на своих базах sql:
Код:
SELECT
    SQL_CALC_FOUND_ROWS COUNT(*) AS __count,
    DATE_FORMAT(DATE(a.last_auth), "%d.%m.%Y") AS __as_last_auth
FROM fullusers u
LEFT JOIN (
    SELECT FROM_UNIXTIME(MAX(time)) AS last_auth, uid FROM (
        (SELECT uid, `end` AS time FROM auth_log)
            UNION ALL
        (SELECT uid, `last` AS time FROM ip_pool vl1
         LEFT JOIN auth_now vl2 ON INET_NTOA(vl1.ip) = vl2.ip)
    ) v_last_auth
    WHERE time IS NOT NULL GROUP BY uid
) a
ON u.id=a.uid
WHERE u.grp > 0 GROUP BY __as_last_auth
ORDER BY __count DESC, __as_last_auth;
результат мне не нужен, нужно только знать дает ли ошибку или нет и какая версия субд.
Спасибо

Версия сервера: 5.7.33 - Source distribution
SQL-запрос успешно выполнен.


Название: Re: Опрос по СУБД
Отправлено: NodenY45 от 07 Марта 2021, 14:46:20
Парни. Если есть возможность, выполните на своих базах sql:
Код:
SELECT
    SQL_CALC_FOUND_ROWS COUNT(*) AS __count,
    DATE_FORMAT(DATE(a.last_auth), "%d.%m.%Y") AS __as_last_auth
FROM fullusers u
LEFT JOIN (
    SELECT FROM_UNIXTIME(MAX(time)) AS last_auth, uid FROM (
        (SELECT uid, `end` AS time FROM auth_log)
            UNION ALL
        (SELECT uid, `last` AS time FROM ip_pool vl1
         LEFT JOIN auth_now vl2 ON INET_NTOA(vl1.ip) = vl2.ip)
    ) v_last_auth
    WHERE time IS NOT NULL GROUP BY uid
) a
ON u.id=a.uid
WHERE u.grp > 0 GROUP BY __as_last_auth
ORDER BY __count DESC, __as_last_auth;
результат мне не нужен, нужно только знать дает ли ошибку или нет и какая версия субд.
Спасибо


Server version: 5.6.41-log Source distribution

без ошибок


Название: Re: Опрос по СУБД
Отправлено: NodenY45 от 07 Марта 2021, 15:32:44
Обидно, больше сотни просмотров, а проголосовали только 8 человек.
Это же не может развить тему в сторону лучшей производительности, стабильности и функционала

Например, кто смог поднять GALERA CLASTER для билинга? если кто не в курсе, это мощный инструмент репликации БД мульти мастер с легкой горизонтальной расширяемостью.

Я смог поднять GALERA CLUSTER, но к биллингу еще не подключил, так как в нодени используются MyISAM таблицы для сбора трафика :( а поддержки в GALERA их нет.

Есть возможность изменить таблицы с трафиком с MyISAM на InnoDB?


Название: Re: Опрос по СУБД
Отправлено: NodenY45 от 07 Марта 2021, 17:31:54
Не стал ждать окончания выходных - начал заниматься переводом всех своих таблиц в БД на InnoDB c MyISAM для перехода на GALERA CLUSTER DB.

Для начала просканил БД на наличие таблиц MyISAM:
Код:
use nodeny;
show table status where Engine='MyISAM';

увидел много таблиц на MyISAM еще со времен обновления с 50.32, нужно чтото делать) продолжаем,
-захожу в PhpMyAdmin
-выбираю слева БД - INFORMATION_SCHEMA
-далее выполняю запрос SQL
Код:
SELECT CONCAT('ALTER TABLE ',TABLE_NAME,' ENGINE=InnoDB;') 
FROM INFORMATION_SCHEMA.TABLES
WHERE ENGINE='MyISAM'
AND table_schema = 'nodeny'
-вуаля) и теперь ниже вывод команд SQL что нужно будет скопировать, и выполнить на БД для смены на InnoDB.
ПРЕДУПРЕЖДАЮ! Таблицы с трафиком лучше переводить по 4-5шт) очень долго переводятся, а друг что-то гдето отпадет)
(https://i.ibb.co/KL31zNr/2021-03-07-17-33-46.png)

-после этого я отредактировал файлы
1)ee kernel/collectors.pm
в двух запросах сменил MyISAM на InnoDB
$cfg::_slq_create_Ztraf_tbl.=<<SQL;
$cfg::_slq_create_Xtraf_tbl = <<SQL;

2)ee kernel/ses_traf.pm
в одном запросе сменил MyISAM на InnoDB
$cfg::_slq_create_Xtraf_tbl = <<SQL;

И вроде бы все. Хотелось бы услышать мысли от разработчиков на сколько это правильно? и чем грозит уход от MyISAM в таблицах трафика?


Название: Re: Опрос по СУБД
Отправлено: Efendy от 08 Марта 2021, 12:18:07
чем грозит уход от MyISAM в таблицах трафика?
ничем не грозит. MyISAM был выбран тогда, когда за счет нетранзакционности у него было преимущество по скорости. Работа с трафиком была сама тяжелая из-за его громадных объемов. Прошло уже больше 10 лет с тех времен и мощности компов выросли значительно, так что думаю про MyISAM можно забыть. Я в Next сделаю конвертацию в innodb


Название: Re: Опрос по СУБД
Отправлено: ser970 от 08 Марта 2021, 18:53:10
ничем не грозит.
тут как бы не совсем. креш таблиц MyISAM лечится легко и с битой таблицей мускул стартует,
InnoDB так не прокатит....

а креш явление частое ... (упсы, акумы мало у кого стоят....имеелось ввиду нормальные).
делать дамп с рековери долго ....
 


Название: Re: Опрос по СУБД
Отправлено: Efendy от 09 Марта 2021, 14:44:29
по идее innodb креши и не долджны быть страшны, буддет просто откат до незакоммиченного состояния. Хотя как на практике хз


Название: Re: Опрос по СУБД
Отправлено: ser970 от 09 Марта 2021, 19:35:20
innodb обеспечивает целостность на основе движка.  но если при записи дернуть питание....  то мускул вываливается с ошибкой...
помогает запуск мускула с innodb_force_recovery  и дамп ... но время уходит много...


Название: Re: Опрос по СУБД
Отправлено: WideAreaNetwork от 15 Марта 2021, 14:14:44
Distrib 5.7.32 без ошибки


Название: Re: Опрос по СУБД
Отправлено: NodenY45 от 22 Марта 2021, 11:42:39
Парни. Если есть возможность, выполните на своих базах sql:
Код:
SELECT
    SQL_CALC_FOUND_ROWS COUNT(*) AS __count,
    DATE_FORMAT(DATE(a.last_auth), "%d.%m.%Y") AS __as_last_auth
FROM fullusers u
LEFT JOIN (
    SELECT FROM_UNIXTIME(MAX(time)) AS last_auth, uid FROM (
        (SELECT uid, `end` AS time FROM auth_log)
            UNION ALL
        (SELECT uid, `last` AS time FROM ip_pool vl1
         LEFT JOIN auth_now vl2 ON INET_NTOA(vl1.ip) = vl2.ip)
    ) v_last_auth
    WHERE time IS NOT NULL GROUP BY uid
) a
ON u.id=a.uid
WHERE u.grp > 0 GROUP BY __as_last_auth
ORDER BY __count DESC, __as_last_auth;
результат мне не нужен, нужно только знать дает ли ошибку или нет и какая версия субд.
Спасибо

ошибок нет, GALERA CLUSTER MARIADB 10.5


Название: Re: Опрос по СУБД
Отправлено: tom от 23 Марта 2021, 12:04:47
Percona 5.7

без помилок

MySQL 5.6.36

Без помилок