
MySQL *
Свободная реляционная СУБД
Подключение БД с SSH-туннелем к PowerBI

Как интегрировать БД с SSH-туннелем в PowerBI, как настроить SSH-туннель с приватным ключом, как обновлять данные по запросам к БД в PowerBI
Разгоняем портал ДО на основе Moodle (решение проблем узких мест)

В последнее время все острее встает вопрос об обучении онлайн, во время пандемии, так и в связи с переходом в онлайн всего и вся. На сайте Хабр есть материалы по установке базовой системы на основе moodle. В данной заметке хотелось бы поделиться некоторым опытом настройки сервера для продакшен использования (речь пойдет о настройке ПО, без кластеризации и изменения железной конфигурации), для случая когда портал работает уже с некоторой нагрузкой. Примеры приведены для разрешения проблем узких мест из-за которых портал может работать с невысокой производительностью.
Оптимизация mysql комплексная
Сегодня речь пойдет опять и снова про mySQL. Разберемся в оптимизации и поговорим про множество параметров сервера.
Давайте приступать.
Начало
Сервер у нас пусть будет на CentOS. Оптимизировать будем методом правки конфига my.cnf .
Настройка некоторых параметров может повысить
производительность БД сервера в несколько раз!
Сравнение схем двух баз данных
При разработке приложений иногда возникает потребность в сравнении двух баз данных (например prod и dev).
Существует ряд подходов для решения этого вопроса - от создания dump-файла со структурой db и последующим использованием diff, до использования специализированных платных решений типа dbForge или RedGate.
Одним из таких решений, сочетающих бесплатность и удобство использования, является Compalex.
Пара слов про Alter Table, или как делать не надо

Это скорее не статья, а небольшая заметка о некоторых особенностях работы с большими таблицами в MySQL.
Причиной написания стало вроде бы будничное добавление новой колонки в таблицу. Но все оказалось не так просто, как предполагалось.
Актуальные данные по телефонным кодам российских городов
На самом деле первоисточником этой информации является Федеральное агентство связи Россвязь, которое выкладывает информацию о текущей нумерации телефонов. Называются эти файлы так, чтобы даже поисковики, отягощенные зачатками искусственного интеллекта, не смогли выдать эту волшебную страницу по типовым поисковым фразам искателей перечня действующих телефонных кодов — «Выписка из реестра Российской системы и плана нумерации».
Error based MySQL injection или не надо ругаться
На этом сайте есть список языков, ругательства на которых были внесены в «базу знаний». URL для доступа к каждому языку формировался так:
example.com/index.asp?language=[lang_name]#[чтотоеще]Решил просмотреть доступные языки. Мало ли, может что-то интересное найдется.
Кто смотрел «Аватар», про синих больших человечков, помнит, что человечки, аватары, говорили на языке На'ви. Английский вариант — Na'vi. К моему огромному удивлению, в списке языков значился Na'vi и я, это было бы не Ъ, решил глянуть ругательства на этом языке. Однако, я не смог этого сделать.
MySQL запросов заботливо вывалил мне в браузер ошибку 80040e14. Построитель запросов, как оказалось, тупо одставлял значение [lang_name] в шаблон запроса и кавычку, используемую в назывании языка, он не экранировал, как так можно?
Пытливый мозг сразу же найдет для себя тут повод немного потестировать и не сможет удержаться от всевозможных испытаний.
Выводим MySQL из окружения
Мы же рассмотрим создание второй копии, необходимой для продолжения работы над проектом. Статья ориентирована на разработчиков, только вступающих на тернистый путь управления качеством. И бесполезна тем, кто уже знает, что «вторая копия» на самом деле не совсем вторая, и не совсем копия.
Подходы к оптимизации (веб-)приложений
Не знаю, как вы, я лично обожаю заниматься оптимизацией производительности программ. Я люблю, когда программы не тормозят, а сайты открываются быстро. В этой статье я бы хотел привести некоторые (базовые) подходы к улучшению производительности. В основном, они относятся к веб-приложениям, но некоторые вещи справедливы и для «обычных» программ. Я затрону такие темы, как профилирование, пакетная обработка, асинхронная обработка запросов и др. Этот топик можно считать продолжением «Стратегии оптимизации веб-приложений с использованием MySQL.Поиск различных вариантов транслитерации русских текстов (ФИО) латиницей для выборок в MySQL
Задача — есть БД с записями (как правило, ФИО) латиницей. Плохой латиницей. Требуется по русской подстроке поиска в вэб-приложении выбрать из БД (MySQL) записи, похоже транслитерированные на латиницу.
Отказоустойчивая система на базе репликации mySQL и сетевого протокола CARP
Есть 2 сервера: 1 — Master, 2 — Slave. Нужно сконфигурировать отказоустойчивую систему, которая позволит в случае падения 1го сервера и/или базы данных, автоматически переключиться на 2й при минимальном downtime. После восстановлении Мастера, он должен стать слейвом, а Слейв — Мастером. ОС FreeBSD.
Скрипт мониторинга процессов MySQL на Perl
Более пяти лет я работаю системным администратором в хостинговой компании, обслуживаю более сотни серверов с freebsd и centos. За это время накопилось много самописных скриптов, облегчающих мне жизнь. Этими скриптами хочу поделиться с сообществом, да и выслушать здоровую критику никогда не помешает.
Предыстория.
Ближайшие события
Выбираем предыдущую и следующую запись зная id
Постановка задачи:
CREATE TABLE `contacts` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name_prefix` varchar(50) DEFAULT NULL,
`name` varchar(100) DEFAULT NULL,
`infix` varchar(100) DEFAULT NULL,
`surname` varchar(100) NOT NULL,
`primary_email` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
Для наглядности объясню где это все работает:
есть две страницы, работающие с этой таблицей:
— index, на ней отображаются все записи из таблицы contacts, есть фильтр и есть сортировка по столбцам
— view, просмотр текущей записи из таблицы contacts. На это странице есть кнопки [ВПЕРЕД] [НАЗАД], с учетом фильтра и сортировки заданной на странице index;
Трудность возникла в этих двух кнопках.
mysql-proxy тестирование под мелкоскопом
Итак, есть задача, облегчить жизнь mysql серверу. Доступное решение — master-slave репликация. Всё замечательно, когда у нас есть программисты, которые могут переписать приложение на использование нескольких серверов СУБД, но как быть, если таковых нет? Тут на помощь нам приходит mysql-proxy. Работая прозрачно для клиента, mysql-proxy умеет проксировать запросы нескольких slave & master серверов.
далее будет описание тестов
Кто стоит за соединениями?
Можно ли это вообще узнать эту информацию? Оказалось, что в этом нет ничего сложного! Однако, каждый раз руками устанавливать соответствие довольно муторно. Так почему бы не автоматизировать процесс?
Нет ничего проще!
Семинар «Производительность MySQL», 22 сентября, Киев
Докладчик:
Дмитрий Кравчук, Principal Benchmark Engineer, Sun Microsystems, Париж, Франция
Вторая встреча Moscow MySQL User Group
Пётр Зайцев работал техническим директором компании SpyLog, был сотрудником Группы высокой производительности компании MySQL AB, а в последние годы руководит собственной консалтинговой компанией, выступает на конференциях (например, HighLoad, которая сегодня начинается), проводит семинары и ведёт блог MySqlPerformanceBlog.com.
Пётр расскажет о своём видении развития СУБД MySQL, опыте работы на консалтинговых проектах по настройке высоконагруженных систем и ответит на вопросы.
Встреча проводится при поддержке клуба «Бизнес в стиле .RU» и для участия в ней необходимо обязательно зарегистрироваться по адресу http://styleru.net/register, чтобы попасть в здание ГУ-ВШЭ.
Инструкция: как перенести сайт WordPress с MySQL 5.7 на MySQL 8

Недавно WordPress при проверке здоровья сайта начал рекомендовать использование версии MySQL 8. В этой статье расскажем, как перенести сайт на WordPress на MySQL 8 на примере нашего хостинга. Спойлер: это намного легче, чем может показаться.
О выборе CMS для сайтовых дел, кратенький обзор Processwire

На днях было появилась нужда - создать сайт новостного типа, и недолго думая приступил к поиску того самого чудо движка (CMS, пардон - за терминологию из 90х) который бы осилил задачу с относительной лёгкостью, но и - как понимаете - был бы достаточно поддерживаем (важно!), стабилен и гибок для других возможных задач (заказов) из будущего.
К авангардной тройке (WP, Joomla, Drupal) не приглянулся по N-ным причинам, но, щас не об этом.
В общем, перебрал всевозможные критерии (внушительный список хотелок :)) - гугл + ИИ в помощь смекалке и, перематывая к результату - остановился на чудо инструменте Processwire (далее PW).
Вклад авторов
alizar 732.0maghamed 424.0snevsky 400.0olegbunin 346.2moscas 269.0tuta_larson 263.0youROCK 241.0zabivator 206.0mcshadow 197.0rdruzyagin 179.4