Все потоки
Поиск
Написать публикацию
Обновить
5.81

MySQL *

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

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

Технология SQL-файл, препроцессор для T-SQL, “бок-о-бок” файлы и др

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

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

Выше на картинке: SQL-трансляция исходных файлов из нескольких директорий (скрипты *.sql), запуск fill_with_data.cmd

Читать далее

Быстрый запуск Nextcloud и Onlyoffice на Ubuntu + SSL от Letsencrypt

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

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

Однажды мне понадобилось 1Tb облачного хранилища и выбор пал на Nextcloud, который и было решено развернуть на собственном домашнем сервере

В данной статье я опишу как быстро и безболезненно установить и настроить облако Nextcloud и облачный редактор Onlyoffice

Статья предполагает, что у вас уже установлен и настроен Ubuntu.

Все действия были проверены на Ubuntu Server 20.04

Что будем делать:

1. Установим Nginx, PHP и MariaDB
2. Добавим бесплатный SSL-сертификат Let's Encrypt
3. Развернем NextCloud
4. Произведем тонкие настройки сервера
5. Установим Onlyoffice

Читать далее

KODI: собираем удобный и функциональный медиацентр для дома. Часть 6. MariaDB и синхронизация медиатеки

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

Продолжаем «изобретать» медиацентр. Разберемся, как иметь несколько KODI-медиацентров и одну медиатеку на все устройства в доме. Причем такую медиатеку, которая понимает, где вы закончили просмотр и позволит его продолжить на другом устройстве.

Читать дальше →

Шифрование в MySQL: ротация Master Key

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

В преддверии старта нового набора на курс «Базы данных» продолжаем публиковать серию статей про шифрование в MySQL.

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

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

Давайте вспомним, как выглядит заголовок зашифрованного табличного пространства:

Читать далее

История о физическом удалении 300 миллионов записей в MySQL

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

Введение


Привет. Я ningenMe, веб-разработчик.

Как сказано в названии, моя история — это история о физическом удалении 300 миллионов записей в MySQL.

Я заинтересовался этим, поэтому решил сделать памятку (инструкцию).

Начало — Alert


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

Обычно этот процесс завершается примерно в течение 1 часа, но в этот раз он не завершался 7 или 8 часов, и alert не переставал вылазить…
Читать дальше →

ASP.NET MVC — Entity Framework, MySQL и использование Dependency Resolver для выбора репозитория

Время на прочтение7 мин
Количество просмотров8.6K
Legacy технологии
Предупреждение: ASP.NET MVC уже устарел. Рекомендуется использовать ASP.NET Core. Но если вам интересно, то читайте.

Решил немного расширить предыдущую статью про ASP.NET MVC и MySQL. В ней речь шла про работу с MySQL в ASP.NET MVC не через практически стандартный ORM Entity Framework (EF), а с помощью прямого доступа к СУБД через ADO.NET. И была приведена реализация этого метода доступа. И хотя метод устаревший и не рекомендуемый к использованию, но иногда полезен: например, в высоконагруженных приложениях или когда разработчик сталкивается с ситуацией, когда ORM не может сгенерировать корректно работающий SQL-запрос. И иногда можно совмещать в приложении оба способа — и через ORM и через ADO.NET. В итоге я подумал, и решил дописать приложение: добавив в него реализацию репозитория для Entity Framework и сделать выбор из них зависимым от параметра приложения с помощью Dependency Resolver.

Весь код можно взять вот по этому адресу, ниже этот код будет частично презентован с небольшими ссылками и пояснениями по отношению к предыдущему проекту. А здесь можно посмотреть на работу приложения.
Читать дальше →

Бот для VK на Python с MySQL за час ч.2

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

Предисловие


Прошу извинения за то, что в первой статье не написал про работу с базой данных, но именно эта часть направлена на работу с MySQL.

3 часть будет неким дополнением, где мы рассмотрим работу с клавиатурой для бота и на этом цикл статей завершиться.

Подготовка


После прошлой статьи на руках мы должны иметь такой код:

import vk_api
from vk_api.utils import get_random_id
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
import pymysql.cursors
import requests

def get_connection():
    connection = pymysql.connect(host='you_host',
                                 user='you_user',
                                 password='you_password',
                                 db='you_db'
                                 charset='utf8mb4',
                                 cursorclass=pymysql.cursors.DictCursor)
    return connection

Читать дальше →

MySQL Query Killer — предохранитель от перегрузки СУБД

Время на прочтение4 мин
Количество просмотров10K
Здесь описывается процедура, предназначенная для предохранения базы данных высоконагруженной системы от перегрузки.

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

Потому хорошим «сторожем работоспособности» будет умный «Query killer»,
который будет отслеживать подозрительные ситуации и освобождать базу данных.

Этот киллер допускает ситуацию, когда БД выполняет пару тяжелых запросов.
Но когда он видит, что начинает появляться много долгих запросов — то начинает принмать меры
Читать дальше →

Подсчет количества событий календаря в каждом месяце года

Время на прочтение4 мин
Количество просмотров4.8K
Постановка задачи:
вывести количество событий (events) каждого месяца года.

Каждое событие имеет два поля
— start_date — дата начала события
— end_date — дата завершения события

Структура таблички с событиями календаря:
CREATE TABLE `events` (
  `id` int(11) unsigned NOT NULL auto_increment,
  `start_date` date default NULL,
  `end_date` date default NULL,
  `created` datetime default NULL,
  `modified` datetime default NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8


Читать дальше →

SQL beautifier

Время на прочтение1 мин
Количество просмотров6K
На хабре проскакивали статьи про PHP и Javascript beautifier'ы, но для SQL запросов я тут ничего не нашёл. Постараюсь исправить этот пробел.

Наиболее популярный SQLinForm. Единственный минус этого решения является требование Java Runtime.

Менее «фичастый» и более удобный для работы Instant SQL Formatter. Пример работы можно посмотреть здесь.

Задача отображения деревьев в MySql. Способ отображения на хранимых процедурах

Время на прочтение7 мин
Количество просмотров14K
Доброго времени суток.

Очень хотелось поднять вопрос о древовидных структурах в MySql. А конкретно о выборках и хранении данных…
Пользователям Oracle и PostgresSQL живется хорошо, в этих БД есть встроенные средства выборки рекурентных данных (см. Иерархические (рекурсивные) запросы).
Пользователям Mysql приходится работать уже с тем, что есть, то есть работа на стороне клиента.
Поскольку эта тема не однократно поднималась, то я попробую рассказать о конкретной задаче и способе её решения.
Читать дальше →
12 ...
33

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