MySQL - система управления реляционными базами данных с открытым исходным кодом. Простота освоения и свободное распространение сделали её одной из самых популярных на рынке: на ней работают и сайты на WordPress, и учётные системы среднего бизнеса.
Установить MySQL несложно - мастер установки проведёт по шагам, а на Linux всё сводится к паре команд. Куда важнее два вопроса, на которые пошаговые инструкции обычно не отвечают: какую версию ставить и на каком железе она будет работать. Первый вопрос за последний год стал острее, чем раньше: ветка 8.0, на которой до сих пор живёт множество установок, больше не поддерживается. Со второго начинается разница между «база отвечает мгновенно» и «сайт висит на каждом запросе».
Разберём оба, а установку пройдём быстро и по делу.
Здесь всё изменилось, и старые руководства сбивают с толку.
| Ветка | Статус | Ставить в продакшен? |
|---|---|---|
| MySQL 8.0 | поддержка закончилась 30 апреля 2026 | нет, только мигрировать с неё |
| MySQL 8.4 LTS | текущая LTS, поддержка примерно до апреля 2032 | да, это рабочий выбор |
| MySQL 9.x | Innovation-релизы, поддержка около квартала каждый | нет, это ветка для обкатки новинок |
Главное: MySQL 8.0 больше не получает исправлений безопасности. Если у вас уже стоит 8.0 - это повод планировать переход на 8.4, а не повод паниковать: обновление внутри восьмой версии обычно проходит спокойно.
Про девятую ветку стоит сказать отдельно, потому что номер больше и это сбивает. Версии 9.x - это Innovation-релизы: Oracle выпускает их часто и поддерживает недолго, примерно один квартал каждую. Они нужны разработчикам, чтобы пробовать новые возможности. Следующей долгосрочной версией станет 9.7. До неё в продакшене место у 8.4 LTS.
MariaDB - форк MySQL, совместимый по протоколу и в большинстве сценариев взаимозаменяемый. Текущая долгосрочная ветка - 12.3, поддержка до июня 2029. Если вы разворачиваете что-то с нуля и не привязаны к специфике Oracle, посмотреть на неё стоит: в репозиториях Debian и Ubuntu она есть по умолчанию, а миграция типового приложения обычно сводится к смене строки подключения.
Короткий ответ: на серверную.
Отдельно предупреждение, потому что старые инструкции про это молчат. Поддержка Windows 10 закончилась 14 октября 2025 года - система больше не получает обновлений безопасности (платная программа расширенных обновлений тянется максимум до октября 2028). Ставить на неё сервер баз данных не стоит: база - это ровно то, ради чего в инфраструктуру и лезут.
Разумных вариантов два.
Linux - основной сценарий для сервера. По статистике запросов установку под Debian и Ubuntu спрашивают чаще, чем под Windows, и это отражает реальность: в продакшене MySQL живёт преимущественно на Linux. Установка сводится к подключению репозитория и одной команде, после чего запускается скрипт первичной настройки безопасности - он попросит задать пароль root, убрать анонимных пользователей и тестовую базу.
Windows Server - если инфраструктура уже построена вокруг Windows, в домене, и держать отдельный Linux-узел некому. Здесь работает графический установщик MySQL Installer, и дальше всё по шагам мастера.
На Linux. Подключаете официальный репозиторий MySQL или ставите пакет из репозитория дистрибутива, затем запускаете скрипт первичной настройки. Он задаст пароль администратора, предложит отключить удалённый вход под root, удалить анонимных пользователей и тестовую базу - на все вопросы отвечайте согласием, это базовая гигиена. После этого сервис запускается сам и добавляется в автозагрузку.
Важная деталь, которую пропускают: по умолчанию MySQL слушает только локальный адрес. Чтобы к базе подключались с других машин, нужно поправить адрес прослушивания в конфигурации и отдельно открыть порт на межсетевом экране, а не выставлять базу в интернет целиком.
На Windows Server. С сайта разработчика скачивается установщик - в двух вариантах: небольшой веб-инсталлятор, который докачивает компоненты по ходу, и полный дистрибутив для установки без доступа в интернет. Разницы в результате нет, выбирайте по наличию сети.
При скачивании предложат зарегистрировать учётную запись Oracle или войти в существующую. Это необязательно - под формой есть ссылка, позволяющая пропустить шаг и начать загрузку сразу.
Дальше мастер спросит тип установки. Для сервера имеет смысл ставить не «всё подряд», а серверную часть плюс инструменты администрирования: сам MySQL Server и MySQL Workbench. Компоненты вроде примеров баз данных и коннекторов для разработки на боевой машине не нужны - меньше поставили, меньше обновлять и меньше поверхность атаки.
Затем идёт настройка: тип конфигурации, порт (по умолчанию 3306), метод аутентификации, пароль администратора, учётные записи. Отдельным шагом установщик предложит зарегистрировать MySQL как службу Windows - соглашайтесь, иначе сервер придётся запускать вручную после каждой перезагрузки.
MySQL Router на типовой установке настраивать не нужно: он предназначен для маршрутизации подключений в кластерных конфигурациях, и для одиночного сервера этот шаг можно пройти без изменений.
После установки откройте MySQL Workbench - в стартовом окне будет готовое подключение к локальному серверу. Введите пароль, заданный при установке.
Если на этапе установки вы поставили демонстрационные данные, в списке схем слева появится база sakila. Простейшая проверка - выполнить запрос:
SELECT * FROM sakila.actor;
Если в ответ пришла таблица с именами актёров, сервер работает, подключение живое и права настроены. На Linux то же самое делается из консоли клиентом mysql.
Вот здесь начинается то, ради чего статья и называется «для разных задач». Инструкции по установке пишут в основном хостинг-провайдеры, а у них тариф уже выбран за вас. Если вы ставите MySQL на своё железо, конфигурацию нужно посчитать.
Главный принцип один, и он важнее всех остальных. Производительность MySQL определяется прежде всего тем, помещается ли активная часть базы в оперативную память - в так называемый буферный пул InnoDB. Пока рабочий набор данных лежит в памяти, запросы обслуживаются со скоростью памяти. Как только он перестаёт помещаться, каждая операция идёт на диск, и никакое количество ядер этого не компенсирует.
Отсюда практическое правило: память подбирают под размер активных данных, а не «сколько не жалко». Активные данные - это не весь объём базы: в интернет-магазине с историей заказов за пять лет реально запрашивается свежая часть, а архив лежит мёртвым грузом. Прикидывать надо по ней.
| Сценарий | Размер базы | Память | Ядра | Диски |
|---|---|---|---|---|
| Сайт, блог, небольшой корпоративный портал (как собрать такой сервер) | до 5-10 ГБ | 8-16 ГБ | 4 | SSD, зеркало |
| Интернет-магазин, CRM на несколько десятков пользователей | 10-50 ГБ | 32-64 ГБ | 6-8 | SSD, зеркало |
| Учётная система, обмен с 1С, отчётность | 50-200 ГБ | 64-128 ГБ | 8-16 | NVMe, зеркало или RAID 10 |
| Аналитика, тяжёлые выборки по большим таблицам | от 200 ГБ | 128 ГБ и выше | 16+ | NVMe, RAID 10 |
Цифры здесь - ориентир для расчёта, а не норматив: реальная конфигурация зависит от того, какая доля базы активна и сколько запросов идёт одновременно.
Несколько уточнений, которые часто пропускают.
Диски. Для базы данных важен не объём и не последовательная скорость, а число операций в секунду и задержка на мелких случайных операциях. Обычный ёмкий HDD здесь проигрывает SSD не на проценты, а в разы. Держать базу на одиночном диске без избыточности не стоит: отказ носителя означает восстановление из копии со всем простоем.
Процессор. Ядра начинают решать, когда запросов много и они идут параллельно. Для одиночных тяжёлых отчётов важнее частота, потому что один запрос MySQL выполняет в одном потоке. То есть сервер под «много мелких запросов» и сервер под «редкие тяжёлые выборки» - это разные конфигурации при одном и том же размере базы.
Запас. Базы растут, и растут почти всегда в одну сторону. Закладывайте возможность добавить памяти и дисков, не меняя платформу: расширяемость обойдётся дешевле, чем переезд через год. Прикинуть конкретную сборку можно в конфигураторе сервера.
Сеть. О ней вспоминают в последнюю очередь, а зря: если к базе обращаются десятки клиентов из локальной сети, узким местом становится не диск, а канал и коммутатор. На что смотреть при выборе - в разборе про оборудование для локальной сети.
Что именно должно быть у сервера под СУБД помимо этого - отказоустойчивое питание, ECC-память, нормальное охлаждение - разобрано отдельно, в материале про то, каким должен быть сервер баз данных.
Знать это необязательно, чтобы установить сервер, но полезно, чтобы понимать, где искать причину, когда что-то тормозит.
Упрощённо MySQL состоит из трёх слоёв. Верхний отвечает за подключения и аутентификацию. Средний - за разбор и оптимизацию запросов: именно здесь решается, каким способом выполнить SELECT и какие индексы использовать. Нижний - подсистемы хранения, которые отвечают за то, как данные физически лежат на диске; основная сегодня - InnoDB, и с ней связан тот самый буферный пул.
Разделение на слои означает, что проблема производительности может жить в любом из них - в неудачном запросе, в отсутствующем индексе или в нехватке памяти под буферный пул. Подробный разбор устройства - в отдельной статье про архитектуру MySQL.
Классическая проблема после установки: на сайте вместо русского текста появляются вопросительные знаки или неразборчивые символы.
Причина почти всегда в рассогласовании кодировок между базой, таблицами, соединением и приложением. Начиная с восьмой версии MySQL по умолчанию использует utf8mb4 - это полноценный Unicode, включая эмодзи. Проблемы начинаются при переносе старых баз, созданных в устаревшем utf8 (который в MySQL исторически был неполным) или в однобайтовых кодировках.
Лечится это приведением всех четырёх уровней к одной кодировке. Проверять надо именно все четыре: база может быть в utf8mb4, а соединение приложения открываться в latin1 - и результат будет тем же.
Установщик оставляет сервер в состоянии «работает», а не «готов к эксплуатации». Минимальный список:
Что MySQL делает как СУБД и какие задачи снимает с приложения - если нужен более широкий контекст, это разобрано в материале про функции системы управления базами данных.
Какую версию ставить сейчас?
MySQL 8.4 LTS. Ветка 8.0 не поддерживается с 30 апреля 2026, ветка 9.x - Innovation-релизы с коротким сроком поддержки, для продакшена не предназначены.
Можно поставить MySQL на обычный компьютер?
Технически да, для разработки и тестов это обычная практика. Для боевой базы, от которой зависит работа компании, - нет: нужны ECC-память, избыточность дисков и нормальное питание.
Сколько памяти нужно серверу MySQL?
Столько, чтобы активная часть базы помещалась в буферный пул InnoDB. Это не весь объём базы, а та её часть, к которой реально идут запросы. Считать надо от неё, а не от размера файла на диске.
MySQL или MariaDB?
Для типовых задач разница невелика, и MariaDB часто удобнее на Linux: она есть в репозиториях дистрибутивов по умолчанию. Если приложение явно требует MySQL или вы рассчитываете на коммерческую поддержку Oracle - ставьте MySQL.
Нужна ли учётная запись Oracle для скачивания?
Нет. При скачивании её предлагают создать, но под формой есть ссылка, позволяющая пропустить регистрацию и начать загрузку.
Установка MySQL - самая простая часть работы: мастер или пара команд, полчаса времени. Сложность в том, что решается до и после неё.
До - выбрать версию (8.4 LTS), нормальную серверную ОС и конфигурацию под реальную нагрузку. После - закрыть доступы, настроить буферный пул и убедиться, что резервная копия восстанавливается. Ошибка на этих этапах обходится дороже, чем любые сложности с самим установщиком.
Подбираете сервер под базу данных?
Инженеры ITTELO посчитают конфигурацию под ваш сценарий: оценим, какая часть базы активна, подберём объём памяти под буферный пул, дисковую подсистему под характер запросов и оставим запас на рост. Соберём и протестируем сервер под задачу перед отгрузкой, с гарантией и поддержкой после продажи. На рынке серверов 11+ лет.
сервер для базы данных · +7 (800) 551-80-12 · info@ittelo.ru