Задать вопрос
  • Почему из базы MySQL самопроизвольно удаляются записи?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    MyISAM

    баланс на моем сайте

    Сделайте мне это развидеть.

    Это безотносительно проблемы. Хранить данные и нетранзакционное хранилище - взаимоисключающие вещи. Используйте единственное транзакционное хранилище в mysql - innodb. И добавьте внешние ключи.

    Несколько маловероятно, что это непосредственная проблема, в штатном режиме даже myisam выборочно строки терять не должен так, что это заметил только конкретный пользователь. Более вероятна реакция mysql "аааа, таблица повреждена, я буду говорить только с админом". Впрочем, я давно уже не работал с myisam в продакшене, может и такое поведение тоже характерно.
    А вот FK в режиме restrict вполне поможет от странных запросов.
    Ответ написан
    Комментировать
  • Как подключть usb flash к sata?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    А зачем? Плата настолько древняя, что с USB грузиться не умеет?
    Ответ написан
    3 комментария
  • Как составить запрос MYSQL? Кто может помочь?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    select u.id, u.login
        coalesce(income.sum, 0) - coalesce(payment.sum, 0) as balance
        from users u
            left join (
                select user_id, sum(money) as sum from moneyuser group by user_id
            ) income ON u.id = income.user_id
            left join (
                select user_id, sum(money) as sum from payments group by user_id
            ) payment ON u.id = payment.user_id


    left join и coalesce сделаны намеренно для корректного учёта пользователей, у кого ещё не было дохода либо выплат. Если нужно исключить пользователей, которые вообще ничего не делали, то допишите
    where payment.user_id is null and income.user_id is null
    Ответ написан
    3 комментария
  • Как посчитать сумы разных категорий за каждый день?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Postgresql 9.4 и старше умеет более читаемый синтаксис из SQL:2003 взамен длинного CASE в примере nozzy
    select 
    user_id,
    date,
    SUM(amount) filter(where currency = 'USD') AS USD,
    SUM(amount) filter(where currency = 'USD') AS EUR
    FROM Table1
    GROUP BY user_id, date


    Список возможных валют вам придётся вписывать в запрос.
    Либо дополнительно группировать по валюте и разгребать уже на приложении.
    Ответ написан
    2 комментария
  • Как восстановить Xen Storage?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    было три HDD, на одном стоял xen server, на двух остальных хранилище.

    Листинг pvdisplay прямо утверждает, что у вас было три террабайтных диска и на всех трёх были какие-то данные.
    Затем, что вы потеряли 2 из 3 томов. При том в живых остался как раз том, на котором оставалось свободное место.

    Уточняйте статус этих двух дисков.
    Что можно в теории вытащить - запустите pvdisplay -m
    Какие логические диски полностью укладываются в уцелевший физический - те сможете восстановить. Не полностью укладываются - соответственно в виртуальной машине будет сильно повреждён диск. Возможно, до неоперабельного состояния.

    Как восстановить уцелевшее - гуглите. Я не пробовал. В теории (и мои поверхностные изыскания говорят, что да, так можно) инициализировать новые тома LVM со старыми UUID, затем восстановить конфигурацию LVM (она по дефолту бекапится в метаданных), тогда можно будет стартовать vg нормально и вычитать данные с нормального LV.
    Ответ написан
    Комментировать
  • Автоматизированный проброс USB устройств в KVM?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Я для похожей задачи пробросил целиком PCI устройство USB-хоста. Благо физические порты USB на плате относились к разным контроллерам: два независимых контроллера для USB2.0 и ещё один отдельный для USB3.0
    Но нужна поддержка VT-d.
    Ответ написан
    Комментировать
  • MYSQL количество ядер или мощность ядра?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Смотря для чего именно.
    Обработка одного запроса только однопоточная. Запросы по разным соединениям могут исполняться параллельно, т.е. утилизировать многоядерные CPU. Если не подерутся за блокировки между собой, конечно.

    Обработка потока репликации - однопоточная до 5.7. Многопоточный слейв вообще-то запилили в 5.7, вот только он стал заметно медленнее в целом...
    Я лучше сошлюсь на прошлогодний pgday и конкретно вот эту презентацию от mail.ru: pgday.ru/files/papers/2/pgday.2015.oleg.tsarev.pdf и запись доклада: https://www.youtube.com/watch?v=y8P-IWwzacY&index=...
    Просто цитата оттуда для затравки: "Четыре потока 5.7 работают примерно как 5.5". В 5.5 реплика однопоточная.
    Ответ написан
    Комментировать
  • Group by в mysql версия 5.7?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Пропишите в конфиг. dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sql-...

    И группировкой пользоваться всё так же можете. Но теперь группировка должна быть написана нормальным, стандартным способом, а не абы как, как ранее mysql позволял.
    Ответ написан
    Комментировать
  • Как установить ssh2?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    https://packages.debian.org/jessie/php5-ssh2
    не он?

    Ну а непосредственно по листингу - configure не может найти заголовки библиотеки, т.е. *-dev пакет библиотеки. Для jessie и wheezy - это libssh2-1-dev
    Ответ написан
    Комментировать
  • Отругайте и покажите верный путь человеку по железу для домашнего использования?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Замена ATX на mATX никак не повлияет на энергопотребление и шум. Даже на mITX. Материнка потребляет такую мелочь, что это несерьёзно.
    Если вы имеете в виду замену всей платформы - то другой вопрос.

    и организации всей домашней сети через wi-fi, для отказа от проводов.

    Зачем?

    С целью самообучения - флаг в руки. У многих айтишников дома что-нибудь да размещено дома сервероподобное.
    Если цель не поиграться с самоделками - то посмотрите на HP microserver, интересная железка.
    Ответ написан
  • Как организовать маршрутизацию через OpenWRT?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Вы не подписали default gateway на узлах (а то и всю табличку маршрутизации), так что пробую угадать.

    Судя по всему, neorouter не знает, где находится 192.168.1.212 и отправляет пакеты не на wrt, а по своему дефолтному роуту.

    добавьте на neorouter статичный маршрут 192.168.1.0/netmask via 10.1.5.3
    Если 10.0.2.2 натится в 10.1.5.2, то на openwrt настройка не требуется, он и так знает, куда посылать пакеты.
    Если я неправильно понял по схеме, что тут натится, то нужен будет ещё на openwrt статичный маршрут на 10.0.2.0/netmask via 10.1.5.2
    Ответ написан
  • Как правильно настроить бридж в deb jessie?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    iface eth0 inet dhcp
    iface eth1 inet dhcp

    Зачем? Конечно итог будет странный.
    inet manual

    Это мост. У вас будет 2 физический интерфейса в неразборчивом режиме без каких-то адресов и один мост. Вся дальнейшая работа с L2 и выше ведётся от имени моста. Там поднимается DHCP-клиент, он прописывается в firewall'е

    1) потому что в конфиге пробуете делать глупость
    2) lsusb, lspci, dmesg
    3) через консоль вы настроили верно. Через interfaces - inet manual на служебных интерфейсах.
    Ответ написан
  • Лучшие технологии для поиска в базе данных через regex?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    1) никакой, это всё равно full scan не самым дешёвым конечным автоматом.
    2) нет, не будет

    Быстро будет работать, если вы предварительно распарсите и нормализуете индекс документов.
    Надо искать судью? Распарсите свои документы, получите список связей, в каких документах какие судьи участвуют. И так с остальными данными, по которым надо искать.
    Ответ написан
    4 комментария
  • Как запускать функцию строго в указанное время с точностью до минуты, при том что время лежит в базе и нагружать базу нельзя?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Если один запрос в минуту из крона - это слишком большая нагрузка, то проблема у вас где-то в другом месте.
    Ответ написан
    Комментировать
  • Error processing php5-json после обновления php до 7ой версии. Что делать?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    В попытке настроить php5-json при установке php7 вас ничто не настораживает?
    Удалите этот пакет вообще.
    Ответ написан
  • Задействование процессора на OpenVZ и KVM?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Может повлиять. И на KVM может. И на XEN может. Любую систему виртуализации, а тем более контейнеры, можно легко оверселлить по CPU, сети и диску. Т.е. продавать суммарно ресурсов больше, чем может непосредственно дать железка с гипервизором. Соответственно, несколько виртуалок будут драться за ресурсы и ждать.
    Для достоверного бенчмарка надо брать выделенную железку либо доверять хостеру, что он предоставляет CPU в должном объёме. Например, закрепляет за виртуалкой отдельное физическое ядро и больше никому его не отдаёт.
    Ответ написан
  • Как настроить бридж без доп. пакетов в дебиан?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Попробуйте не ставить bridge-utils и узнаете.
    Скрипты, которые читают /etc/network/interfaces - просто обёртка над некоторыми системными пакетами. Нет пакета - скрипт не сможет сконфигурировать интерфейс
    Ответ написан
    1 комментарий
  • Какой жёсткий диск надёжнее?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Никакой разницы, всё равно сдохнет.

    Делайте бекапы, а диск возьмите тот, на который гарантия даётся подольше - хоть на новый заменят бесплатно. Только шибко не переплачивайте за гарантию, если диск +1 год гарантии и стоит в два раза дороже - не стоит.
    Ответ написан
    Комментировать
  • Не обойдут ли редирект?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    header только изменяет заголовок, но не прерывает работу скрипта.
    Ответ написан
    Комментировать
  • Передать PHP массив в JS массив?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    var pr = <?=json_encode($data)?>
    Ответ написан
    1 комментарий