Гид по технологиям

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

5 min read Базы данных Обновлено 07 Oct 2025
Установка MySQL 5.7 на CentOS 7 и Ubuntu 16.04
Установка MySQL 5.7 на CentOS 7 и Ubuntu 16.04

Краткое описание

MySQL — это система управления реляционными базами данных с открытым исходным кодом, развиваемая Oracle. Исходный код доступен по лицензии GNU GPL; также есть проприетарные платные издания с расширенными функциями. MySQL часто используется в LAMP/LEMP стеках и служит базой для множества веб-приложений.

Цель этой инструкции — показать практическую установку и базовую конфигурацию стабильной ветки MySQL 5.7 на серверах CentOS 7 и Ubuntu 16.04.

Что мы сделаем

  1. Добавим официальный репозиторий MySQL.
  2. Установим mysql-community-server версии 5.7.
  3. Запустим службу и включим автозапуск.
  4. Сбросим или зададим пароль root (если требуется).
  5. Проверим установку: создадим базу и пользователя.

Требования и примечания

  • Доступ 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.

Добавление репозитория MySQL на Ubuntu

Репозиторий добавлен — можно переходить к установке.

Шаг 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

Запуск и добавление MySQL в автозапуск

Проверка статуса автозапуска MySQL на Ubuntu

Если команда возвращает 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;

Смена пароля root MySQL на Linux

Важно: вы можете повторно использовать команду 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

Подключение с новым пользователем и вывод списка баз данных

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) при необходимости.

Критерии приёмки

  1. Сервис mysqld/mysql запущен и включён для автозапуска (systemctl is-enabled возвращает enabled).
  2. Порт 3306 слушается и доступен только для разрешённых хостов.
  3. Можно подключиться под root и под созданным пользователем.
  4. Присутствует рабочий бэкап базы (проверить дамп).

Краткое резюме

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

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Удаление предустановленных приложений на Android и iOS
Руководство

Удаление предустановленных приложений на Android и iOS

Dev Error 6068 в Warzone — как исправить
Игры

Dev Error 6068 в Warzone — как исправить

Проверить версию PowerShell в Windows
Системное администрирование

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

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

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

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

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

Установка MySQL 5.7 на CentOS 7 и Ubuntu 16.04
Базы данных

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