Установка MySQL 5.7 на CentOS 7 и Ubuntu 16.04

Краткое описание
MySQL — это система управления реляционными базами данных с открытым исходным кодом, развиваемая Oracle. Исходный код доступен по лицензии GNU GPL; также есть проприетарные платные издания с расширенными функциями. MySQL часто используется в LAMP/LEMP стеках и служит базой для множества веб-приложений.
Цель этой инструкции — показать практическую установку и базовую конфигурацию стабильной ветки MySQL 5.7 на серверах CentOS 7 и Ubuntu 16.04.
Что мы сделаем
- Добавим официальный репозиторий MySQL.
- Установим mysql-community-server версии 5.7.
- Запустим службу и включим автозапуск.
- Сбросим или зададим пароль root (если требуется).
- Проверим установку: создадим базу и пользователя.
Требования и примечания
- Доступ root или sudo на целевой машине.
- Подключение к интернету для загрузки пакетов.
- Команды приводятся для CentOS 7 и Ubuntu 16.04 отдельно.
- Команды, вводимые в терминале, сохраняют регистр и синтаксис — вводите их точно.
Важно: используйте надёжные пароли и храните их в менеджере паролей. Примеры паролей в статье — демонстрационные.
Шаг 1 — Добавление репозитория MySQL
MySQL поддерживает репозитории для rpm- и deb‑пакетов. Сначала добавьте репозиторий, чтобы система могла скачать mysql-community-server.
Для CentOS 7 выполните:
yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
При запросе подтвердите установку, введите ‘y’ и нажмите Enter.
Для Ubuntu 16.04 выполните:
wget https://dev.mysql.com/get/mysql-apt-config_0.8.3-1_all.deb
dpkg -i mysql-apt-config_0.8.3-1_all.deb
apt-get update
Во время установки пакета конфигурации apt вас попросят выбрать версию MySQL и дополнительные инструменты. Если вы не уверены, оставьте значения по умолчанию — нажмитеok и Enter.
Репозиторий добавлен — можно переходить к установке.
Шаг 2 — Установка MySQL 5.7
Пакет, который нам нужен, называется mysql-community-server.
Для CentOS 7:
yum -y install mysql-community-server
Для Ubuntu 16.04:
apt-get install -y mysql-community-server
Примечание: на Ubuntu во время установки вас попросят ввести пароль root для MySQL. Введите надёжный пароль и повторите его в запросе.
После завершения установки MySQL 5.7 будет установлен на систему.
Шаг 3 — Запуск службы и автозапуск при загрузке
После установки нужно запустить службу и включить её автозапуск через systemd.
Для CentOS используйте службу mysqld:
systemctl start mysqld
systemctl enable mysqld
Для Ubuntu используйте службу mysql:
systemctl start mysql
systemctl enable mysql
Проверить, что служба слушает порт 3306, можно командой:
netstat -plntu
Проверить, включен ли автозапуск:
Для CentOS:
systemctl is-enabled mysqld
Для Ubuntu:
systemctl is-enabled mysql
Если команда возвращает enabled — автозапуск настроен.
Шаг 4 — Сброс/установка пароля root
На Ubuntu пароль root для MySQL обычно задают в процессе установки. На CentOS 7 при первом запуске MySQL генерирует временный сильный пароль и записывает его в лог mysqld.log.
Найдите временный пароль на CentOS:
grep 'temporary' /var/log/mysqld.log
Подключитесь к консоли MySQL с временным паролем:
mysql -u root -p
TYPE DEFAULT PASSWORD
Затем замените временный пароль на свой. Пример команды:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Newhakase-labs123@';
flush privileges;
Важно: вы можете повторно использовать команду ALTER USER в любое время для сброса пароля.
Шаг 5 — Тестирование: создание базы и пользователя
Подключитесь к MySQL под root:
mysql -u root -p
TYPE NEW PASSWORD: Newhakase-labs123@
Создайте базу данных и пользователя (примеры):
create database hakaselabs;
create user hakase@localhost identified by 'Hakase123@';
grant all privileges on hakaselabs.* to hakase@localhost identified by 'Hakase123@';
flush privileges;
Выйдите и подключитесь под новым пользователем:
mysql -u hakase -p
TYPE THE PASSWORD: Hakase123@
Проверьте список баз данных:
show databases;
Вы увидите базу hakaselabs в списке.
MySQL 5.7 установлен, запущен, настроен автозапуск, создан пользователь и база.
Улучшения безопасности и рекомендации
- Отключите удалённый доступ для root: убедитесь, что запись ‘root’@’localhost’ есть и нет ‘root’@’%’.
- Настройте брандмауэр: откройте порт 3306 только для доверенных хостов.
- Запустите mysql_secure_installation для базовой очистки (удаление анонимных пользователей, удаление тестовой базы, принудительное использование паролей).
- Ограничьте привилегии по принципу наименьших прав.
- Регулярно делайте бэкапы (mysqldump или инструменты горячего бэкапа).
Пример базовых команд для hardening:
# Запуск безопасной настройки (интерактивно)
mysql_secure_installation
# Пример бэкапа
mysqldump -u root -p hakaselabs > hakaselabs_backup.sql
Типичные проблемы и как их решать
Проблема: нет доступа после установки на CentOS — временный пароль не найден.
Решение: убедитесь, что mysqld действительно запущен и проверьте /var/log/mysqld.log; можно искать по ‘A temporary password’ или ‘temporary password’.Проблема: port 3306 занят.
Решение: найдите процесс, который слушает порт (netstat или ss) и остановите или перенастройте его.Проблема: “ERROR 1698 (28000)” на Ubuntu при попытке входа.
Решение: проверьте, используется ли unix_socket аутентификация для root. Можно переключиться на парольную аутентификацию через ALTER USER.Проблема: mysql-community-server не доступен в репозитории.
Решение: проверьте, успешно ли добавлен репозиторий и выполните yum repolist или apt-get update.
Альтернативные подходы
- MariaDB 10.x — совместимая замена с собственными улучшениями; в некоторых дистрибутивах она поставляется по умолчанию.
- Установка в контейнере Docker — полезно для изоляции и быстрого развёртывания: образ mysql:5.7.
- Использование управляемых баз данных в облаке (RDS, Cloud SQL) — если нужен SLA и автоматическое масштабирование.
Быстрый чек-лист для разных ролей
Системный администратор:
- Добавить репозиторий и обновить индекс пакетов.
- Установить пакет mysql-community-server.
- Запустить службу и включить systemctl enable.
- Проверить доступность порта и правила firewall.
Разработчик / DevOps:
- Протестировать подключение к базе из приложения.
- Создать отдельного пользователя с минимумом прав для приложения.
- Настроить резервное копирование и восстановление.
Безопасность / инженер по защите:
- Выполнить mysql_secure_installation.
- Проверить аутентификацию root и удалить анонимных пользователей.
- Ограничить доступ к порту 3306 и включить шифрование соединений (TLS) при необходимости.
Критерии приёмки
- Сервис mysqld/mysql запущен и включён для автозапуска (systemctl is-enabled возвращает enabled).
- Порт 3306 слушается и доступен только для разрешённых хостов.
- Можно подключиться под root и под созданным пользователем.
- Присутствует рабочий бэкап базы (проверить дамп).
Краткое резюме
MySQL 5.7 можно установить через официальный репозиторий на CentOS 7 и Ubuntu 16.04. После установки важно сменить временный пароль (если он был сгенерирован), включить автозапуск службы и ограничить доступ к серверу. Рекомендуется выполнить mysql_secure_installation и настроить регулярное резервное копирование.
Короткий глоссарий
- mysql-community-server — основной сервер MySQL.
- systemctl — инструмент управления systemd.
- mysqld.log — лог запуска MySQL, где может храниться временный пароль.
Ссылки
Официальная документация установки MySQL 5.7: https://dev.mysql.com/doc/refman/5.7/en/linux-installation.html
Похожие материалы

Удаление предустановленных приложений на Android и iOS
Dev Error 6068 в Warzone — как исправить

Проверить версию PowerShell в Windows

Как вручную установить расширение в Microsoft Edge

Установка osTicket на Ubuntu 16.04 с Nginx и PHP-FPM
