Рубрика «mysql» - 52

В субботу координатор по безопасности проекта MariaDB Сергей Голубчик (petropavel) сообщил об интересной уязвимости в MySQL/MariaDB до версий 5.1.61, 5.2.11, 5.3.5, 5.5.22.

Суть в том, что при подключении пользователя MariaDB/MySQL вычисляется токен (SHA поверх пароля плюс хэш), который сравнивается с ожидаемым значением. При этом функция memcmp() должна возвращать значение в диапазоне -128..127, но на некоторых платформах (похоже, в glibc в Linux с оптимизацией под SSE) возвращаемое значение может выпадать из диапазона.

В итоге, в 1 случае из 256 процедура сравнения хэша с ожидаемым значением всегда возвращает значение true, независимо от хэша. Другими словами, система уязвима перед случайным паролем с вероятностью 1/256.
Читать полностью »

в 3:25, , рубрики: mysql, футбол, метки:

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

Этим прибором может быть что угодно — договорные матчи, сотни подручных изучающие каждую новость команды вплоть до и после начала матча, возможность убирать и изменять исходы и т.д. Но мы конечно не жалуемся и просто играем на поставленных нам условиях. А что же нам еще делать? Играть то хочется.
Читать полностью »

Довольно часто возникает ситуация, когда надо быстренько запустить пару запросов к MySQL базе у клиента на сервере. При этом есть только FTP и параметры соединения с СУБД. Самый простой выход — загрузить туда phpMyAdmin, ну а дальше дело техники. Обычно все это проиcходит на фоне того, что у клиента уже установлена какая-то CMS — WordPress, Drupal, Joomla…

Я люблю простые, красивые и удобные вещи. Я тепло отношусь к phpMyAdmin но в 90% моих Use Cases мне он не нужен. Нужно что-то простое. В идеале такое, что можно просто залить на сервер и открыть в браузере — не настраивая.

Пара вечеров и пакет готов.
Читать полностью »

Впервые столкнулся во время разработки с такой ситуаций: дубликаты первичных ключей в таблице MySQL.

При импорте таблицы с боевого сервера на локальный обнаружилось, что есть дубликаты первичных ключей. В первую очередь попробовал на боевом запросить записи с этим ключом:

SELECT * 
FROM  `map_group_tmp` 
WHERE id =672192

В результате phpMyAdmin вернул только одну строку.

Ок, пошли дальше: поискал вхождения строки '672192' в .sql файле (результат экспорта из phpMyAdmin) с боевого. Действительно, нашлось две такие записи.

Читать полностью »

При разработке веб-приложений хорошим тоном, наряду с практичностью, считается использовать систему контроля версий. В этом случае всегда можно легко откатить или развернуть изменения, внесенные в код одним или несколькими разработчиками. Часто веб-приложения не обходятся без реляционных баз данных, структура которых может меняться в процессе разработки и переходе от версии к версии. Отслеживание этих изменений — необходимый этап процесса разработки.

Существует несколько способов держать актуальной структуру таблиц во всех окружениях разработки. Например, можно писать вручную изменяющие SQL-запросы в отдельный файл, использовать схемы баз данных или программы для автоматизации сборки проектов, вроде Maven или Phing.

Если используется СУБД MySQL задачу можно решить с помощью проксирования запросов.

Читать полностью »

Данный пост не будет рассказывать про индексы, планы запросов, триггеры для построения агрегатов и прочие общие способы оптимизации запросов и структуры БД. Так же не будет рассказывать про оптимальные настройки с префиксом innodb_. Возможно прочитав текст ниже вы лучше поймёте смысл некоторых из них. В данном посте речь пойдёт об InnoDB и его функционирование.

Какие проблемы может помочь решить этот пост?

  • Что делать если у вас в списке процессов множественные селекты которым казалось бы никто не мешает?
  • Что делать если всё хорошо настроено, запросы пролетают как ракеты и список процессов постоянно пустой, но на сервере высокий LA и запросы начинают работать немного медленнее, ну например вместо 100мс получается 500мс ?
  • Как быстро масштабировать систему, когда нет возможности всё переделать?
  • У вас коммерческий проект в конкурентной среде и проблему надо решать немедленно?
  • Почему один и тот же запрос работает то быстро то медленно?
  • Как организовать быстрый кеш и поддерживать его в актуальном состояние?

Читать полностью »

Так получается, что сейчас тружусь над планировщиком для MySQL соединений. И тут недавно пришлось покапаться в документации/блогах и т.д. И вот решил поделиться с сообществом как реализовать асинхронные запросы к MySQL серверу на С++ используя API и библиотеку libmysqlclient.

Читать полностью »

Во времена моей юности в русскоязычном сегменте сети интернет был популярен только один единственный локальный веб-сервер. Это, как вы уже догадались, старый добрый Denwer. Он прочно обосновался на моём компьютере еще в далёком 2003 году. Другие альтернативы если и существовали в то время, то были известны в узких кругах и были не столь популярны.

Давайте посмотрим на то, что мы можем использовать сегодня, спустя столько лет. Я предлагаю рассмотреть, протестировать и сравнить 14-ть! программных комплексов предназначенных для использования в качестве локального веб-сервера для Windows.

Читать полностью »

Во времена моей юности в русскоязычном сегменте сети интернет был популярен только один единственный WAMP комплекс. Это, как вы уже догадались, старый добрый Denwer. Он прочно обосновался на моём компьютере еще в далёком 2003 году. Другие альтернативы если и существовали в то время, то были известны в узких кругах и были не столь популярны.

Давайте посмотрим на то, что мы можем использовать сегодня, спустя столько лет. Я предлагаю рассмотреть, протестировать и сравнить 14! программных комплексов предназначенных для разработки сайтов под Windows.

Читать полностью »

Django и особенности использования транзакций в MySQLНаверное всем известно, что Django является одним из самых популярных фреймворков для web-разработки на python-е. И даже если в основе web-проекта лежит сторонний код, то зачастую при разработке используют отдельные части этого фреймворка — например ORM. В данной статье я хотел бы рассказать об особенностях использования Django ORM при работе с базой данных MySQL, а именно про транзакции и подводные камни, связанные с ними. Так, например, если в какой-то момент вы осознаёте, что вместо ожидаемых данных, возвращается совершенно другой результат, то возможно, данная статья поможет разобраться что к чему.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js