mysql

Книги - 6 дней назад

10 книг по программированию на PHP и MySQL

В блоге на hackr.io пользователь Ахил Бхадвал поделился десятью лучшими, по его мнению, книгами по программированию на языке PHP. 

Истории - 3 недели назад

История Hubber: от монолита к модульной архитектуре

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

Highload - 2 месяца назад

Постраничный вывод в MySQL

Выборки со смещением (LIMIT/OFFSET) могут работать очень медленно при больших значениях смещений. Это происходит по причине того, что MySQL перебирает и отбрасывает все строки результата, пока их количество не будет равно значению OFFSET. Например:

Highload - 2 месяца назад

Тестирование нагрузки Mysql

Sysbench — утилита для тестирования производительности MySQL (и других СУБД), а также параметров операционной системы. Подобный инструмент незаменим для предварительного тестирования эффективности системы с (потенциально) высокой нагрузкой. Sysbench позволяет оценить производительность сервера СУБД и операционной системы в различных условиях при различной нагрузке.

Highload - 3 месяца назад

ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository

Это очередная проблема в Mysql-репликации, которая может возникнуть при обновлении версии Mysql. Ну или просто так. Чтобы ее решить, необходимо перезапустить репликацию:

Highload - 3 месяца назад

my.cnf

my.cnf — это файл конфигурации MySQL. Чтобы найти файл, используйте команду:

Highload - 4 месяца назад

Как сделать mysqldump с фильтром по названию

Если вам нужно сделать дамп базы данных, но только некоторых таблиц, которые соответствуют какому-то шаблону, вам поможет этот код:

Highload - 4 месяца назад

slow_query_log параметр в Mysql

Этот параметр устанавливает путь к логу медленных запросов Mysql. Используется вместе с параметром long_query_time, который указывает минимальное время выполнения запроса в секундах. Устанавливается в my.cnf:

Highload - 4 месяца назад

innodb_flush_log_at_trx_commit и рекомендуемые значения

Параметр innodb_flush_log_at_trx_commit позволяет выбрать стратегию сброса данных на диск при работе MySQL.

Highload - 4 месяца назад

Определение лишних индексов в MySQL

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

Highload - 5 месяцев назад

Что такое составной индекс?

Составной индекс – это индекс, построенный по нескольким колонкам. Такие индексы имеет смысл использовать, когда в одном запросе фигурируют более одной колонки. Mysql поддерживает составные индексы для любых типов таблиц.

Highload - 5 месяцев назад

Оптимизация ORDER BY RAND()

Как выбрать случайную запись из таблицы в Mysql?
SELECT id FROM files **ORDER BY rand()** LIMIT 1;

Highload - 5 месяцев назад

Как использовать индексы в JOIN запросах Mysql

Работа с индексами в Mysql – это фундаментальная задача для построения систем с высокой производительностью. В этой статье разберемся с тем, как Mysql использует индексы в JOIN запросах.

Highload - 5 месяцев назад

innodb_flush_method и значения O_DSYNC / O_DIRECT

Настройка innodb_flush_method определяет метод сброса данных из памяти на диск. Выбор подходящего значения – это выбор между скоростью и надежностью.

Highload - 6 месяцев назад

Восстановление Mysql после сбоя

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

Highload - 7 месяцев назад

Mysql error ib_logfile0 is of different size

Что делать, если во время перезапуска Mysql показывает подобную ошибку:

Highload - 7 месяцев назад

Удаление больших объемов данных из Mysql таблиц

Если вам приходится удалять десятки и сотни тысяч записей из таблиц, вы знаете, что эта работает медленно. Ясно, ведь Mysql в этом случае должен пройтись по каждой записи и удалить её с диска.

Highload - 7 месяцев назад

MySQL Handlersocket

Когда приложение отправляет запрос на MySQL сервер, происходит две основные операции:

Highload - 7 месяцев назад

Xtrabackup для бекапов Mysql

Xtrabackup — это необходимый инструмент для создания горячих бэкапов MySQL. Инструмент создает резервную копию сервера (т.е. всех баз данных сразу) без блокировок и остановок. Устанавливается из пакетов:

Highload - 7 месяцев назад

5 стратегий работы с высокими нагрузками в MySQL

MySQL — проверенная и очень мощная технология. В том числе и для построения систем с большой нагрузкой. Даже Facebook использует MySQL для управления огромными объемами данных. Рассмотрим основные стратегии для построения нагруженных систем на основе MySQL.

Highload - 8 месяцев назад

Использование Clickhouse для фильтрации по колонкам

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

Highload - 9 месяцев назад

Как настроить MySQL Master-Master репликацию?

Master-Master репликация в MySQL используется распределения нагрузки на базу данных между несколькими серверами. Хотя Master-Slave репликация намного популярнее и проще, Master-Master репликация может быть полезной. Читайте подробнее о применении репликации.

Highload - 9 месяцев назад

Выбор типов данных в Mysql

При создании таблиц в Mysql мы определяем типы данных и дополнительные правила для колонок (размер, индексы, ограничения):

Highload - 9 месяцев назад

Шардинг и репликация

Масштабирование баз данных — самая сложная задача во время роста проекта. 90% всех усилий обычно приходится как раз на работу, связанную с ростом объема данных и операций с ними. Классическая схема работы приложения с базой данных выглядит так:

Highload - 9 месяцев назад

Как настроить MySQL Master-Slave репликацию?

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

Highload - 9 месяцев назад

Эффективный count distinct

Выбор количества уникальных значений за определенный промежуток времени — не очень частая задача. [https://t.onthe.io/ В .io] нам нужно определять количество уникальных пользователей, заходивших на сайт за любой период времени.

Highload - 9 месяцев назад

Ошибка 1054: Unknown column ‘password_last_changed’ in ‘mysql.user’

Такая ошибка происходит при обновлении Mysql до версии 5.7. Чтобы ее поправить:

Highload - 10 месяцев назад

Сравнение InnoDB и MyISAM

Mysql поддерживает два самых популярных движка InnoDB и MyISAM.

Highload - 10 месяцев назад

thread_cache параметр в Mysql

Этот параметр более не актуален. Используйте настройку thread_cache_size.

Highload - 10 месяцев назад

Профилирование в MySQL

Percona Toolkit — это набор инструментов, который предоставляет собой расширенные средства по управлению MySQL, сбору аналитической информации и ее обработке, проведению рутинных операций, восстановлению данных и т.п. В том числе — инструменты для профилирования MySQL. Пакет входит во все распространенные дистрибутивы Linux систем:

Highload - 10 месяцев назад

Логирование в MySQL

Журналы событий — первый и самый простой инструмент для определения статуса системы и выявления ошибок. Основных логов в MySQL четыре:

Highload - 11 месяцев назад

Что такое ad hoc запросы

Ad hoc queries — узкоспециализированные запросы, то есть запросы, созданные для решения единоразовой проблемы. В общем смысле термин ad hoc используется для обозначения решений под конкретные проблемы и задачи, без обобщенности.

Highload - 11 месяцев назад

max_binlog_size параметр в Mysql

Этот параметр определяет размер файла бинлога, который используется при репликации. Mysql создаст новый файл, когда размер текущего файла достигнет лимита:

Highload - 1 год назад

Mysql 1062 Duplicate entry for key PRIMARY при репликации

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

Highload - 1 год назад

Сравнение Vertica и Mysql

Сравнивая две базы данных, нужно понимать, что обе они адресуют различные задачи. Mysql призвана обеспечить простую, быструю и надежную БД для приложений широкого спектра. Vertica – колоночная база данных, которая адресует проблему работы с большими наборами данных (таблицы на миллиарды записей), и применяется для аналитических задач.