Как стать автором
Обновить
15.78

MySQL *

Свободная реляционная СУБД

Сначала показывать
Порог рейтинга
Уровень сложности

Делаем web сервер из старого Android смартфона, без root

Время на прочтение 4 мин
Количество просмотров 19K

Главная идея была в том, чтобы проверить возможно ли из старого Android устройства сделать "полноценный" сервер с nginx, php-fpm, MariaDB и запустить на этом Wordpress. Оказывается можно и при этом с хорошим результатом.

Устройство: Xiaomi Mi 4c 2015 года, разблокирован разгрузчик, TWRP, Android 10 (Havoc OS 3.0), Gapps не устанавливались для экономии ресурсов, root отсутствует.

Читать далее
Всего голосов 25: ↑23 и ↓2 +21
Комментарии 18

Новости

Небольшой тест нескольких БД при работе с многими таблицами

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 5K

Я новичок в работе с базами данных и для их изучения (а заодно для изучения Питона) начал небольшой пет-проект. В процессе оказалось, что в моей многопользовательской системе запросы к БД всегда касаются только одного пользователя. «Отлично!» подумал я, «раздам каждому пользователю по табличке и сэкономлю ресурсы сервера на индексации!». Конечно сначала я почитал литературу и подобных решений в ней не нашел. Потом сходил на один из популярных ресурсов и там мне объяснили, что так делать нельзя. Но почему – никто объяснить не смог (или возможно не захотел). Поэтому я решил сделать небольшой тест на самых популярных БД – проверить что будет на самом деле.

Читать далее
Всего голосов 17: ↑6 и ↓11 -5
Комментарии 45

Погружаемся в базы данных и SQL: полезные материалы и инструменты от сотрудников Selectel

Время на прочтение 4 мин
Количество просмотров 5.2K

Почему программисты SQL так плохо шутят? Потому что их юмор — это всегда "SELECT * FROM jokes WHERE is_funny = 1".

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

Мы попросили наших коллег порекомендовать полезные ресурсы, которые помогут сделать первые шаги в работе с базами данных и SQL. Сохраняйте подборку в закладки, чтобы сэкономить время на изучение темы, и делитесь своими вариантами в комментариях.
Читать дальше →
Всего голосов 35: ↑33 и ↓2 +31
Комментарии 2

SSL для всех (пользователей MariaDB), даром, и пусть никто не уйдёт обиженный

Уровень сложности Средний
Время на прочтение 3 мин
Количество просмотров 1.8K

MySQL научился использовать OpenSSL, чтобы шифровать трафик между клиентом и сервером году где-то в 1999. В принципе работало оно нормально, свою задачу выполняло, трафик шифровало. Но был там один фатальный недостаток. SSL в MySQL, а позже и в MariaDB, не работал сам, сразу. Его надо было настроить. И это было непросто.

Ну а что делать, сертификат-то проверять надо. Иначе это не защита, а пшик. Приходится терпеть. Так мы и терпели почти четверть века, и очень небольшое количество пользователей проходило квест настройки SSL до конца. Это должно измениться новом релизе MariaDB 11.3 (пока доступен только в виде превью тут).

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 7

Истории

Kysely.js типизированный sql builder

Уровень сложности Средний
Время на прочтение 17 мин
Количество просмотров 1.4K
Обзор

Kysely.js – это библиотека, позволяющая писать типизированные SQL запросы. Библиотека делает работу с SQL в вашем проекте более безопасной, избавляя от таких ошибок как опечатки в названиях колонок или таблиц и неправильное использование SQL операторов в коде (код не скомпилируется). Ко всему прочему она делает работу с SQL более удобной, предоставляя при написании запросов автодополнения для таблиц, колонок, алиасов и других сущностей. Kysely имеет незначительный слой абстракции над SQL для того чтобы можно было пользоваться всей мощью SQL и при этом не изучать множество дополнительных сущностей. Библиотека поддерживает MySQL, PostgreSQL, SQLite, PlanetScale, D3, SurrealDB и другие.

Теперь погрузимся в наш кисель 😃.

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 3

2.0.Виртуализируем базы данных в NixOS

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 994
Туториал

Всем привет. Предлагаю сделать передышку и отойти от нашего хранилища бэкапов и рассмотрим еще возможности инструментов Nix. Мы поработаем с Postgresql,Mysql,Qemu и открытыми данными

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 0

Организация миграции схем баз данных на основе Nasgrate

Уровень сложности Сложный
Время на прочтение 5 мин
Количество просмотров 1K
Туториал

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

В этой статье я бы хотел подробнее остановиться на Nasgrate

Основные преимущества Nasgrate

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

возможность автоматического создания миграции на основе анализа изменений в двух базах данных (пока поддерживается только MySQL, но в планах другие базы данных) или между двумя состояниями миграций одной базы данных

наличие визуального интерфейса (а не только консольного клиента) позволяющего организовать просмотр изменений в наглядном виде

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Комментарии 1

SQL Задача про бинарное дерево

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 8.5K
Туториал

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

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

Пару слов о необходимом арсенале.

Для решения задачи, понадобится следующее:

Читать далее
Всего голосов 10: ↑5 и ↓5 0
Комментарии 15

MySQL — как запустить на Windows, или варианты организации рабочего окружения. Часть 1

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 1.5K
Туториал

Эта инструкция - для тех, кто, как и я, желает всегда иметь под рукой развернутый "гайд" с нелинейным сюжетом по MySQL. В статье рассмотрены 3 способа организации переменных окружения для повышения удобства запуска сервера и клиента СУБД: 1) с помощью Панели управления, 2) редактированием реестра и 3) консольными командами Windows. Также представлено скромное размышление на тему рациональности использования того или иного подхода.

Как и ранее, я надеюсь, что создание аналогичных подробных туториалов снизит порог вхождения для новичков, только начинающих познавать базы данных. Поможет им сформировать первичную проблематику и очертить предметную область.

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

Помните! Только истинный живой интерес и отсутствие страха перед смертью вытащили человечество из пещер в каменные дома (по сути, те же пещеры, только с доступом в Интернет...).

Погружение -->
Всего голосов 9: ↑4 и ↓5 -1
Комментарии 9

Отличия MySQL от PostgreSQL. Выбираем что лучше, PostgreSQL или MySQL

Время на прочтение 5 мин
Количество просмотров 7.8K
Обзор

PostgreSQL и MySQL являются самыми популярными Open Source реляционными базами данных. И часто возникает вопрос - чем отличается PostgreSQL от MySQL? Ответ на этот вопрос позволит понять, какая из баз данных лучше подойдет вашему проекту.

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

Читать далее
Всего голосов 14: ↑6 и ↓8 -2
Комментарии 13

Как понять логику EXISTS в SQL запросах

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 3.5K
Туториал
Recovery Mode

Как следует из названия, данная статья для тех, у кого есть сложности с пониманием SQL запросов, в составе которых, используется EXISTS, т.к., исходя из опыта, его использование частенько вызывает вопросы у начинающих, а иногда даже у продолжающих. 

Стандартное описание работы оператора EXISTS, для SQL, выглядит примерно так: “Оператор EXISTS возвращает true, если подзапрос возвращает одну, или более записей, в противном случае, возвращает false”. 

И еще: “Поскольку возвращения набора строк не происходит, то подзапросы с подобным оператором выполняются довольно быстро.”

Непонимание, обычно, как раз кроется, где-то здесь: Если EXISTS возвращает true/false, но не возвращает набор записей, то каким образом, основной запрос, в ходе выполнения, отбирает записи, соответствующие условиям описанным во вложенном запросе.

Читать далее
Всего голосов 9: ↑6 и ↓3 +3
Комментарии 2

Как установить СУБД MySQL noinstall ZIP Archive на Windows

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 2.2K
Туториал

Самостоятельное изучение программирования, в частности принципов работы с базами данных, к сожалению, предвосхищает многочасовое погружение в многостраничные руководства, которые, как правило, еще и написаны на английском языке. И проблема заключается вовсе не в уровне языковой подготовки. Все, что познается впервые, кажется каким-то непонятным, мудреным, особенно дезориентирует обилие перекрестных ссылок, когда документы, к которым они ведут, еще и ссылаются друг на друга. Руководство по MySQL кишит обилием подобных паутин. В общем, как-то давно я устанавливал и переустанавливал noinstall-версию этой СУБД для личных нужд, но сегодня просто забыл порядок действий. Поиски внятных инструкций на русском в интернете выдали единственную адекватную статью по установке MySQL noinstall archive на Windows за 2016 год на, как мне показалось, одном из заброшенных блогов рунета. Эта ситуация замотивировала меня еще раз досконально пройти весь путь от загрузки дистрибутива, до запуска сервера и более детально изучить соответствующие позиции "мануала". Я пишу эту инструкцию для тех, кто, как и я, желает освоить ручную установку MySQL и немного глубже погрузиться в проблематику данной предметной области, а также всегда иметь перед глазами полноценное, 100%-е, руководство. Я надеюсь, что создание подобных отправных точек снизит порог вхождения для новичков, не имеющих возможности обратиться к кому-то за помощью, и увеличит количество желающих глубже разбираться в функционировании СУБД на примере MySQL.

Дерзновенно читать далее ...
Всего голосов 10: ↑7 и ↓3 +4
Комментарии 3

Одна из возможных версий переезда с MySQL на PostgreSQL

Уровень сложности Средний
Время на прочтение 22 мин
Количество просмотров 5.8K
Кейс

В этой статье я расскажу, какие подводные камни ждали команду разработки бэкенда служебных мобильных приложений одного банка, решившей мигрировать с MySQL на PostgreSQL.

Читать далее
Всего голосов 14: ↑14 и ↓0 +14
Комментарии 14

Ближайшие события

Битва пет-проектов
Дата 25 сентября – 30 ноября
Место Онлайн
PG Boot Camp Russia 2023
Дата 5 октября
Время 10:00 – 17:00
Место Москва Онлайн
Joker
Дата 9 – 14 октября
Время 16:00 – 19:30
Место Санкт-Петербург Онлайн
Открытый урок «Kafka Streams»
Дата 16 октября
Время 10:00
Место Онлайн
Питч-сессия pravo (tech) impulse
Дата 19 октября
Время 15:45 – 17:30
Место Москва
Russia Risk Conference 2023 — 19-я конференция по риск-менеджменту
Дата 25 – 26 октября
Время 10:00 – 19:00
Место Москва Онлайн
Онлайн IT HR-конференция HR42
Дата 17 – 18 ноября
Время 10:00 – 14:00
Место Онлайн
HighLoad++ 2023
Дата 27 – 28 ноября
Время 9:00 – 20:00
Место Москва Онлайн

Когда SQL решает, и задачки для прокачки

Время на прочтение 4 мин
Количество просмотров 24K

Интервью, или как у нас их чаще называют, "собесы", проходят особой сюжетной линией вдоль карьерной лестницы айтишников.

Естественный путь профессионального становления, это когда ты сначала являешься кандидатом, и только проходишь интервью, ну или пытаешься, а потом, еще и проводишь интервью для других соискателей.

Те, кто побывал в обеих ролях, в каком-то смысле, имели возможность взглянуть на себя со стороны, но думаю многие обращали внимание на следующий момент. Нередко бывает так, что кандидатам, особенно джунам, теоретическая, ну или дискуссионная часть интервью, дается легче, чем решение практических задачек. Более того, некоторых кандидатов, буквально вводит в ступор, когда их просят выполнить
что-то практическое.

Читать далее
Всего голосов 8: ↑2 и ↓6 -4
Комментарии 15

Представляем nxs-data-anonymizer — удобный инструмент для анонимизации баз данных

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 2K
Обзор

Привет, Хабр! 

Впервые с вопросом анонимизации данных мы широко столкнулись при работе с динамическими окружениями.

Не секрет, что разработка даже небольшого проекта тесно связана с инфраструктурой, поскольку любая программа требует наличия определённого окружения. Часто таких окружений требуется несколько — одно под прод, а остальные — под разные нужды, например, тестирование. Иногда эти среды даже могут быть динамическими — когда вместе с новым бранчем создаётся окружение, в котором запускается разрабатываемая версия приложения и всё необходимое для неё, а после того как бранч вливается в main, эта среда и все её данные удаляется. 

И вот как раз о данных (а точнее о базах данных) в таких средах и хотелось бы поговорить. А именно — где и как их взять, как сделать их максимально приближенными к боевым и как защититься от их утечки. Для решения этих задач мы в Nixys используем собственный инструмент — nxs-data-anonymizer. Хотим поделиться им с вами.

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 0

Поиск по произвольным параметрам

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 2.8K
Туториал

Иногда (часто) во время разработки веб-сайта возникает необходимость реализовать поиск с фильтрацией, и отсортировать результаты по какому-то фиксированному полю: например, поиск товаров в интернет-магазине, поиск туров в турагентстве, показ логов с фильтрацией по содержимому, и т.д. Очень часто бывает так, что фильтрация должна осуществляться чуть ли не по любому полю (а полей десятки), а записей тысячи или даже миллионы. Если данных много, или же нужно их часто обновлять, то индекс на каждое поле не создать, ибо много места будут занимать, или же будут создавать слишком большую нагрузку на диск при записи, и приходится что-то придумывать. Давайте что-нибудь придумаем.

Давайте
Всего голосов 9: ↑3 и ↓6 -3
Комментарии 12

Сравнение оптимизации Loose Scan в MySQL со стратегиями в PostgreSQL и MSSQL

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 1.5K
Обзор

Сравнение, как работает операция GROUP BY в MySQL, PostgreSQL и MS SQL Server и что можно сделать, чтобы улучшить производительность запросов на столбцах с малым количеством уникальных значений.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 8

Перенос материалов из компонента K2 в стандартный компонент материалов Joomla

Уровень сложности Простой
Время на прочтение 12 мин
Количество просмотров 485

K2 - в целом неплохой компонент (был). Некоторое время он давал гораздо больше возможностей для отображения контента, чем стандартный компонент материалов Joomla. Однако, время не стоит на месте, и сейчас стандартный компонент не уступает в возможностях компоненту K2. Разработчики Joomla потрудились на славу, чего не скажешь о разработчиках компонента K2. Мало того, что долгое время не обновлялся функционал компонента, так они не подготовили обновление для перехода на 4 версию Joomla. На момент написания этой статьи прошло почти два года с выпуска Joomla 4, а обновления компонента K2 для совместимости с новой версией так и нет. Возможно, на тот момент, когда вы будете читать эти строки разработчики K2 что-то выкатят, но сейчас нет.

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 2

Ускорение sql запросов к большим таблицам. Оптимизация пагинации

Время на прочтение 4 мин
Количество просмотров 13K

При  умеренных объёмах базы данных в использовании offset нет ничего плохого, но со временем база данных растёт и запросы начинают «тормозить». Становится актуальным ускорение запросов.

Очевидно, если причина в росте объёмов базы данных, то используя главный принцип дзюдо «падающего - толкни, нападающего - тяни»,  следует ещё увеличить объём, в данном случае путём добавления нового поля в таблицы для последующей сортировки по нему.

Читать далее
Всего голосов 9: ↑0 и ↓9 -9
Комментарии 29

Подойдет ли PostgreSQL вообще всем проектам или нужны альтернативы

Время на прочтение 15 мин
Количество просмотров 14K

В интернете только и разговоров, что про PostgreSQL и MySQL, но выбор СУБД много шире. В этом материале мы рассмотрим несколько популярных баз данных, разберемся с их спецификацией и сценариями использования, чтобы выйти за рамки привычных решений.
Читать дальше →
Всего голосов 46: ↑41 и ↓5 +36
Комментарии 54

Вклад авторов