Показаны сообщения с ярлыком mysql. Показать все сообщения
Показаны сообщения с ярлыком mysql. Показать все сообщения

четверг, 31 октября 2013 г.

При замене mysql на mariadb вылезает проблема с зависимостями других пакетов от mysql-libs

Второй раз наткнулся на эту траблу - решил записать на будущее для себя. Суть проблемы - использую в centos репозиторий centalt. Из него mysql обновляется и заменяется на mariadb. При этом дальше при установке некоторых пакетов, которые требуют mysql-libs, возникают проблемы, что они не находят библиотек.
Вот такая ошибка получается
Processing Dependency: libmysqlclient.so.16()(64bit) for package: asterisk-mysql-1.8.20.0-1.el6.x86_64
Package mysql-libs-5.1.69-1.el6_4.x86_64 is obsoleted by mariadb-libs-5.5.33a-1.el6.x86_64 which is already installed

Для решения ставлю из репо remi пакет compat-mysql51-5.1.54-1.el6.remi.x86_64.rpm

rpm -ihv http://rpms.famillecollet.com/enterprise/6/remi/x86_64/remi-release-6-2.el6.remi.noarch.rpm
yum --enablerepo=remi install compat-mysql51

И после этого все ок.

вторник, 21 сентября 2010 г.

работа - скриптинг :)

Есть у меня набор скриптов, которые работают с трафиком. Сбор статистики с маршрутизатора, генерация отчетов, закрытие доступа в инет при превышении лимита и всё такое. Написаны давно, довольно коряво, но работают уже не один год :).
А тут взялся за них и переписал некоторые. Обработку лимитов, например. До этого было реализовано тупо в лоб - брались лимиты из таблицы в БД, по одному просматривались, для каждого адреса, указанного в лимитах, считался его трафик, потом сравнивался с лимитом и потом генерировался нужный acl для роутера, если надо было. Работало медленно, было разбито на два скрипта, которые запускались по очереди - один обрабатывал данные из базы и генерил команды второму, которых конфигурил роутер. А тут переписал все в один скрипт, который одним запросом к трем таблицам БД вытаскивает все адреса, которые превысили лимит и еще не заблокированы, потом генерит для них нужные acl-и. Потом вторым запросом вытаскивает все адреса, для которых лимит не превышен, но они заблочены и генерит для них опять-таки нужные acl-и. Потом все сгенерированные acl-и сливаются в один конфиг, который разом заливается в роутер. И все красиво и быстро :) Очень доволен проделанной работой.

А недавно перед этим переделал примерно так же запросы в скрипте, который считал трафик. Ранее он считал тупо перебирая ip, считая для них трафик, определяя, к какому подразделению он(ip) относится и суммируя трафик для подразделения и в итоге выводя мне данные по всем подразделениям. А теперь одним запросом вытаскиваю суммарный трафик для всех подразделений, потом вторым запросом вытаскиваю все адреса, которые не относятся ни к одному подразделению (такие периодически всплывают :)). Красота!

Теперь еще бы переделать таблицу трафика (которая самая здоровая), чтобы ip хранился не в тексте, а в бинарном виде - тогда запросы еще быстрее должны начать выполняться.