Главная/Разработка/MySQL

Установка MySQL на свой сервер или в облаке

Установка MySQL на свой сервер делается пакетом для Ubuntu или официальным образом Docker, а база слушает порт 3306. Версию выбирают среди двух веток с долгой поддержкой, 8.4 и 9.7, и сразу закрывают порт от интернета. Если сервером заниматься некому, подойдёт управляемый MySQL провайдера.

5 мин чтенияДанные проверены 16 октября 2026

Ответ за 30 секунд

Для сайта на PHP или небольшого приложения хватит MySQL на том же сервере: 2 ГБ памяти на старт и закрытый порт 3306. Нужна база для нескольких сервисов без администрирования: управляемый MySQL от 790 ₽ в месяц, копии отдельно по 6 ₽ за ГБ (цены на 14 октября 2026).

Провайдер обновляет сервер и делает копии, приложению остаётся адрес и пароль.

Сколько памяти нужно MySQL и что такое буферный пул InnoDB

01 · 1 мин

Где запускать MySQL: на своём VPS или управляемой базой#

MySQL нужен почти каждому PHP-проекту: WordPress, Joomla, OpenCart, PrestaShop. Базу держат либо на том же сервере, что и сайт, либо отдельно у провайдера.

МаршрутКто обслуживаетЦена на 14 октября 2026
Свой VPS, пакеты или DockerВы: версии, настройки, копии, закрытие портаСервер от 1 920 ₽ в месяц, база делит его с сайтом
Управляемый MySQL в Таймвеб КлаудПровайдер, вам нужны только пользователи и схемаОт 790 ₽ в месяц, автокопии 6 ₽ за ГБ в месяц, публичный IP 200 ₽

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

02 · 1 мин

Установка MySQL на Ubuntu и почему не получится на Debian#

В Ubuntu сервер ставится одним пакетом. В Debian пакета mysql-server в репозитории нет: Debian поставляет вместо него совместимую MariaDB, а MySQL подключают из репозитория Oracle через пакет mysql-apt-config. Если проекту подходит любая MySQL-совместимая база, проще взять MariaDB.

  1. Поставьте пакет и запустите мастер защиты: он убирает тестовую базу и анонимных пользователей.
  2. Создайте базу и пользователя приложения. Пользователь привязывается к адресу, с которого подключается.
  3. Проверьте версию командой mysql --version или запросом SELECT VERSION(); из клиента.
sudo apt update
sudo apt install -y mysql-server
sudo mysql_secure_installation
sudo mysql -e "CREATE DATABASE appdb CHARACTER SET utf8mb4;"
sudo mysql -e "CREATE USER 'app'@'localhost' IDENTIFIED BY 'ВАШ_ПАРОЛЬ';"
sudo mysql -e "GRANT ALL ON appdb.* TO 'app'@'localhost';"

Ветка 8.0 у разработчиков снята с поддержки 30 апреля 2026, поэтому для нового проекта берите 8.4 или 9.7: обе числятся в образе Docker как долгосрочные. В 8.4 плагин проверки пароля mysql_native_password выключен по умолчанию, и очень старые приложения, знающие только его, не подключатся без правки настроек.

03 · 1 мин

MySQL в Docker: пароль root, том и порт#

Образ mysql принимает обязательную переменную MYSQL_ROOT_PASSWORD и хранит данные в /var/lib/mysql. Теги 8.4 и lts дают долгосрочные ветки; тег latest ведёт на ветку innovation с частой сменой версий, и для рабочей базы он неудобен.

services:
  mysql:
    image: mysql:8.4
    restart: unless-stopped
    env_file: .env
    environment:
      MYSQL_DATABASE: appdb
      MYSQL_USER: app
    volumes:
      - mysqldata:/var/lib/mysql
volumes:
  mysqldata:

В .env лежат MYSQL_ROOT_PASSWORD и MYSQL_PASSWORD. Раздела ports здесь нет намеренно: контейнеры в одной compose-сети видят базу по имени mysql, а внешнему миру порт 3306 не нужен. Если снаружи подключаться надо, публикуйте его как 127.0.0.1:3306:3306 и ходите через SSH-туннель.

Инструмент · 1 мин

Сколько памяти нужно MySQL и что такое буферный пул InnoDB#

Из коробки MySQL рассчитан на скромную машину: параметр innodb_buffer_pool_size, то есть кэш данных и индексов, по умолчанию равен 128 МБ. Документация разрешает отдавать ему до 80% памяти, но только на сервере, где живёт одна база. Если рядом работают PHP и веб-сервер, оставьте им не меньше половины.

  • Для старта: 2 ГБ памяти и буферный пул 512-768 МБ покрывают сайт с базой в несколько гигабайт.
  • Признак нехватки: диск постоянно занят чтением при небольшой нагрузке на процессор. Тогда растите пул, а не число ядер.
  • Подключения: лимит max_connections по умолчанию 151. Сотни сайтов-воркеров упираются в него раньше, чем в память.

Какой сервер взять под MySQL

Три ответа про сайт и данные, калькулятор подберёт конфигурацию

Что работает с базой
Сколько данных в базе
Где стоит веб-сервер с PHP

05 · 1 мин

Как открыть MySQL для другого сервера и не открыть для всех#

Пакет Ubuntu слушает только 127.0.0.1, а контейнер Docker внутри своей сети доступен всем соседям. Для подключения с другой машины сначала используйте SSH: клиенты вроде MySQL Workbench умеют соединение через SSH-туннель и не требуют менять конфигурацию сервера.

Прямой доступ включается в три шага: в mysqld.cnf прописывают bind-address с внутренним адресом, создают пользователя под конкретный адрес ('app'@'203.0.113.10', а не 'app'@'%') и открывают порт только для этого адреса правилом ufw allow from 203.0.113.10 to any port 3306 proto tcp. Пользователь с маской % и открытый порт дают перебор паролей со всего интернета.

06 · 1 мин

Резервные копии MySQL: mysqldump и автокопии управляемой базы#

Для базы на InnoDB дамп делают с флагом, который берёт согласованный снимок без блокировки таблиц: mysqldump --single-transaction --routines --triggers appdb | gzip > appdb.sql.gz. Восстановление это обратная подача файла клиенту mysql. Для баз на сотни гигабайт дамп уже слишком медленный, и используют физические копии, например Percona XtraBackup.

Управляемая база делает копии сама, плата идёт за занятый объём: 6 ₽ в месяц за ГБ. Где хранить свои дампы и как проверять восстановление: сервер для бэкапов. Сайтам с MySQL нужны ещё и файлы, например каталог загрузок: Joomla и похожие CMS хранят их вне базы.

07 · 1 мин

Вопросы об установке MySQL#

Как узнать версию MySQL на сервере?

Из консоли выполните mysql --version или в клиенте запрос SELECT VERSION();. Первая команда покажет версию клиента, второй запрос версию самого сервера.

Как обновить MySQL на хостинге или VPS?

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

Чем MySQL в Docker отличается от пакета на сервере?

Данные лежат в томе, а версия закреплена тегом образа, поэтому обновление сводится к смене тега. Пакет проще интегрировать с системными службами и обновляется вместе с системой.

Можно ли поставить MySQL на Windows для разработки?

Да, есть установщик MySQL Installer и клиент Workbench. Для рабочего проекта лучше Linux-сервер: на нём меньше накладных расходов и проще автоматизировать копии.

Почему этому можно верить

Как мы проверяли

Цены с сайта провайдераСняты вручную, у каждой цены указана дата проверки.
Всё можно повторитьКоманды и расчёты описаны так, что их повторит любой читатель.
Независимый справочникНе связан с разработчиками приложений и провайдерами и пишет о минусах тоже.

Источники цифр на этой странице: VPS и VDS серверы Таймвеб Клауд, timeweb.cloud/services/vds-vps, проверено 14 октября 2026; Облачные базы данных Таймвеб Клауд, timeweb.cloud/services/dbaas, проверено 14 октября 2026; Docker Official Images: образ mysql, теги lts и innovation, github.com/docker-library/docs/tree/master/mysql, проверено 15 октября 2026; endoflife.date: сроки поддержки PostgreSQL, MySQL, MariaDB, MongoDB, Redis, Valkey, ClickHouse, Kafka, RabbitMQ, Magento, Joomla, PHP, endoflife.date, проверено 15 октября 2026.

SBРедакция SelfBase · обновлено 16 октября 2026

Отдайте базу данных провайдеру

Обновления, мониторинг и резервные копии делает провайдер, вы работаете с подключением.

  • PostgreSQL, MySQL, MongoDB от 790 ₽
  • Valkey (совместим с Redis) от 670 ₽
  • Kafka, RabbitMQ, ClickHouse, OpenSearch
  • Автобэкапы 6 ₽ в месяц за ГБ
Память