Установка MySQL на свой сервер или в облаке: коротко и с данными

Конспект страницы: 7 разделов коротко, данные на 14 октября 2026 и ответы на 4 вопроса. Полный разбор с примерами: Установка MySQL на свой сервер или в облаке.

Коротко

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

Конспект по разделам

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

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

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

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

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

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

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

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

Как открыть 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.

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

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

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

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

Данные

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

Данные на 14 октября 2026. Цены приведены для ознакомления и могут отличаться от актуальных. Перед покупкой проверяйте их на сайте провайдера.

Вопросы и ответы

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

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

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

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

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

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

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

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