Установка 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 --version или запросом SELECT VERSION(); из клиента.
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 и веб-сервер, оставьте им не меньше половины.
- Для старта: 2 ГБ памяти и буферный пул 512-768 МБ покрывают сайт с базой в несколько гигабайт.
- Признак нехватки: диск постоянно занят чтением при небольшой нагрузке на процессор.
- Подключения: лимит max_connections по умолчанию 151.
Как открыть 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.
Отдайте базу данных провайдеру
Обновления, мониторинг и резервные копии делает провайдер, вы работаете с подключением.
- PostgreSQL, MySQL, MongoDB от 790 ₽
- Valkey (совместим с Redis) от 670 ₽
- Kafka, RabbitMQ, ClickHouse, OpenSearch
- Автобэкапы 6 ₽ в месяц за ГБ
Данные
| Маршрут | Кто обслуживает | Цена на 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-сервер: на нём меньше накладных расходов и проще автоматизировать копии.